
/* Source: styles.css */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500;600;700&display=swap');
:root{--night:#1b2435;--night2:#121c2e;--night3:#2a344a;--ivory:#f3f0f4;--pale:#e9e6ed;--paper:#e8e5ea;--ink:#232c41;--muted:#656d80;--lav:#a99ac9;--lav2:#c9bee4;--border:#d6d2dd;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font-family:var(--sans);font-size:14px;line-height:1.65;color:var(--ink);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}button{font:inherit}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #e1bfff;outline-offset:4px}.skip{position:absolute;z-index:20;left:-999px;top:12px;background:#fff;padding:10px}.skip:focus{left:12px}.shell{width:min(1260px,calc(100% - 80px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:10px;font-weight:600;margin:0;line-height:1.7}.site-header{height:83px;background:var(--night2);color:var(--ivory);border-bottom:1px solid #ffffff1e;position:relative;z-index:10}.head-inner{height:100%;display:flex;justify-content:space-between;gap:25px;align-items:center}.brand,.footer-brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-moon{font-family:Georgia,serif;font-size:54px;color:var(--lav2);line-height:1;position:relative}.brand-moon:after{content:'✧';position:absolute;top:5px;right:-4px;font:13px Georgia;color:#cbc2e3}.brand-name{display:block;font-family:var(--serif);letter-spacing:.31em;font-size:30px;text-transform:uppercase;line-height:1}.brand-sub{display:block;text-transform:lowercase;font-size:8px;letter-spacing:.35em;margin-top:8px;color:#bfc2d1}.nav{display:flex;gap:clamp(11px,1.55vw,26px);align-items:center}.nav a{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#e8e6ee;white-space:nowrap;padding:7px 0;transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--lav2)}.nav a[aria-current=page]{border-bottom:1px solid var(--lav2)}.nav-toggle{display:none}.hero{background:var(--night2);color:var(--ivory);position:relative;min-height:580px;overflow:hidden}.hero-background{position:absolute;inset:0}.hero-bg-img{height:100%;width:100%;object-fit:cover;object-position:center 43%;opacity:.93}.hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#111a2bee 0%,#171e2deb 29%,#171e2c9e 51%,#161b2920 83%),linear-gradient(0deg,#141a2b84,transparent 35%)}.hero-shell{position:relative;z-index:2;min-height:580px;display:flex;align-items:center}.hero-copy{max-width:530px;padding:52px 0 73px}.hero-overline{color:#bfb3d3;letter-spacing:.35em}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(49px,5.4vw,85px);line-height:.86;letter-spacing:-.025em;margin:24px 0 25px;max-width:650px}.hero h1 em{color:#bfb2d9;font-weight:400}.little-rule{display:flex;align-items:center;gap:8px;color:#cfc2df;font-size:15px;width:270px;margin:0 0 26px}.little-rule:before,.little-rule:after{content:'';display:block;height:1px;flex:1;background:#a9a1b377}.hero-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.17em;color:#f0eaf3;margin:0 0 9px}.hero-desc{font-size:13px;color:#e0dce6;line-height:1.65;max-width:435px;margin:0 0 26px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;padding:10px 22px;text-transform:uppercase;font-size:9px;letter-spacing:.17em;font-weight:600;border:1px solid #ded8e5;color:var(--ivory);background:transparent;border-radius:3px;transition:background .18s,transform .18s,color .18s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-lavender{background:#998bb8;border-color:#c9bee0;color:white}.btn-lavender:hover{background:#8474aa}.btn-outline{border-color:#c0baca}.btn-outline:hover{background:#ffffff18}.btn-small{min-height:39px;padding:9px 19px}.hero-footnote{position:absolute;right:30px;bottom:18px;z-index:2;color:#d9d1e1bd;text-transform:uppercase;letter-spacing:.2em;font-size:9px}.work-section{padding:48px 0 62px;background:linear-gradient(135deg,#f4f0f2,#e7e5ea 75%)}.section-intro{text-align:center;margin-bottom:35px}.section-intro .eyebrow{color:#777088}.section-intro h2,.connect-section h2{font-family:var(--serif);font-size:45px;font-weight:500;text-transform:uppercase;letter-spacing:.2em;margin:2px 0 0;line-height:1.25}.section-flourish{font-family:serif;color:#9990ac;display:flex;gap:10px;align-items:center;justify-content:center}.section-flourish:before,.section-flourish:after{content:'';height:1px;width:78px;background:#b1aabb}.section-intro p{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#68697b;margin:8px 0 0}.work-columns{display:grid;grid-template-columns:1.08fr .92fr;gap:32px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #c9c2ce;margin-bottom:12px;padding:0 2px 8px}.section-heading h3,.section-heading h2{font:500 23px var(--serif);text-transform:uppercase;letter-spacing:.18em;margin:0}.section-heading a{font:600 9px var(--sans);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}.section-heading a:hover{color:#7d669f}.writing-list{display:grid;gap:14px}.writing-card{border:1px solid #c7c3cf;border-radius:6px;padding:8px;display:grid;grid-template-columns:43% 1fr;gap:17px;min-height:189px;background:#ffffff55;overflow:hidden}.writing-thumb{min-height:168px;display:block;overflow:hidden;border-radius:4px}.writing-thumb img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.writing-thumb:hover img,.art-open:hover img{transform:scale(1.045)}.writing-info{padding:9px 9px 8px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.writing-info h3{font:italic 500 clamp(20px,2.1vw,29px)/1.02 var(--serif);margin:6px 0 10px}.writing-info h3 a:hover{color:#75628d}.writing-info p:not(.eyebrow){font:15px/1.27 var(--serif);margin:0 0 12px;color:#424356}.writing-info .eyebrow{color:#7d7b89;letter-spacing:.08em;font-size:8px}.text-link{display:inline-block;color:#75628d;text-transform:uppercase;font-size:9px;letter-spacing:.12em;font-weight:600;margin-top:auto}.text-link:hover{text-decoration:underline}.art-feature-grid{display:grid;grid-template-columns:1.28fr .85fr;grid-template-rows:repeat(2,1fr);gap:12px;height:392px}.feature-art-1{grid-row:span 2}.art-card{height:100%;overflow:hidden;position:relative;border-radius:5px;background:#2b3048}.art-open{padding:0;margin:0;border:0;cursor:zoom-in;background:transparent;display:block;width:100%;height:100%;position:relative}.art-open img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.art-zoom{position:absolute;bottom:12px;right:13px;background:#181d2baf;color:#fff;border:1px solid #ffffff5f;border-radius:50%;font-size:16px;width:32px;height:32px;display:grid;place-items:center}.feature-art .art-caption{display:none}.about-and-commissions{background:radial-gradient(ellipse at 20% 30%,#344056,#1a2435 65%);color:var(--ivory);padding:35px 0 40px}.dual-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:34px}.dual-panel:nth-child(2){padding-left:32px;border-left:1px solid #aab1c333}.dark-section-title{border-color:#a6afbe56;margin-bottom:16px}.dark-section-title h2{font-size:23px}.about-pair{display:grid;grid-template-columns:42% 1fr;gap:23px}.about-portrait{border:1px solid #c3bcd2;border-radius:5px;overflow:hidden;height:295px}.about-portrait img{width:100%;height:100%;object-fit:cover}.about-pair-copy h3{font:italic 500 27px var(--serif);margin:6px 0 16px}.about-pair-copy p{font:17px/1.24 var(--serif);color:#e4deeb;margin:0 0 15px}.comm-img{width:100%;height:166px;overflow:hidden;border:1px solid #aaa2bf;border-radius:5px}.comm-img img{width:100%;height:100%;object-fit:cover}.commission-status{margin:16px 0 8px;color:#c9bcdb}.commission-text{font:18px/1.27 var(--serif);color:#e9e2ed;margin:0 0 15px;max-width:410px}.connect-section{background:linear-gradient(120deg,#f1eef3,#e2deeb);padding:36px 0 42px}.connect-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:40px;align-items:center}.connect-section h2{font-size:32px;margin:5px 0}.connect-section p:not(.eyebrow){font-size:12px;letter-spacing:.04em;color:#666479}.social-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}.social-link{width:80px;display:flex;align-items:center;flex-direction:column;gap:7px;text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:9px;color:#48506a}.social-icon{height:46px;width:52px;display:grid;place-items:center;border:1px solid #c5bbd1;border-radius:8px;background:#ffffff35;color:#71618c;font-size:23px;transition:background .2s}.social-link:hover .social-icon{background:#c7bddb}.whispers-card{border:1px solid #c5bfd2;border-radius:7px;padding:25px 30px;background:#d9d4e2}.whispers-card .eyebrow{color:#71658a}.whispers-card h3{font:italic 500 27px var(--serif);margin:7px 0}.whispers-card p{margin:0 0 20px}.footer{background:var(--night2);color:#eae4ef;min-height:104px}.footer-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{font:500 16px var(--serif);letter-spacing:.26em;text-transform:uppercase}.footer-brand .brand-moon{font-size:43px}.footer-brand small{font:8px var(--sans);letter-spacing:.22em;display:block;margin-top:4px;color:#aaa8ba;text-transform:lowercase}.footer-center{font:10px var(--serif);letter-spacing:.23em;text-transform:uppercase;color:#aea9be}.footer-inner>small{font-size:9px;color:#9996a8}.page-banner{background:radial-gradient(circle at 80% 20%,#505071 0%,#242d44 40%,#151f32 100%);color:var(--ivory);text-align:center;position:relative;overflow:hidden}.page-banner:after{content:'☾';position:absolute;right:10%;top:-85px;color:#ffffff09;font-size:360px;line-height:1;font-family:Georgia}.page-banner-inner{padding:74px 0 84px;position:relative;z-index:1}.page-banner .eyebrow{color:#c3b9d9}.page-banner h1{font:500 clamp(53px,7vw,93px)/1 var(--serif);margin:10px 0 12px}.page-banner p:last-child{font:20px var(--serif);color:#d8d1e3;max-width:720px;margin:auto}.collection-section{padding:65px 0 95px;background:var(--ivory);min-height:450px}.collection-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c9c1d2;padding-bottom:12px;margin-bottom:25px}.collection-heading h2{font:500 32px var(--serif);margin:0}.collection-heading span{color:#726d80;font-size:11px}.writing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.writing-grid .writing-card{min-height:255px;grid-template-columns:39% 1fr}.writing-grid .writing-info h3{font-size:29px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-grid .art-card{background:#e4deec;border:1px solid #d3cadb}.gallery-grid .art-open{height:370px}.art-caption{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;background:#ece8ef;color:var(--ink)}.art-caption .eyebrow{font-size:9px;color:#756b82}.art-caption h3{font:500 24px var(--serif);margin:0}.detail-top{background:#eae7ed;padding:70px 0 100px}.detail-grid{display:grid;grid-template-columns:41% 1fr;gap:70px;align-items:center}.detail-image{border:10px solid #e6e0eb;box-shadow:0 15px 50px #32354e2b;aspect-ratio:4/3}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-copy .back-link{display:inline-block;margin-bottom:36px;font-size:11px;letter-spacing:.1em;color:#75648b}.detail-copy .eyebrow{color:#74678c}.detail-copy h1{font:500 clamp(52px,5.5vw,78px)/.94 var(--serif);margin:13px 0 27px}.detail-copy p{font:21px/1.45 var(--serif)}.detail-copy .lead,.lead{font:italic 27px/1.25 var(--serif);color:#5b526f}.detail-copy .btn{margin-top:12px}.text-section{padding:75px 0 95px;background:var(--ivory);min-height:460px}.about-page-grid{display:grid;grid-template-columns:32% 1fr;gap:80px;align-items:center}.about-photo-large{height:480px;border:10px solid #e4deea}.about-photo-large img{width:100%;height:100%;object-fit:cover}.text-section h2{font:500 53px/1.04 var(--serif);margin:12px 0 20px}.text-section p:not(.eyebrow){max-width:740px;font:22px/1.4 var(--serif);color:#464255}.text-section .btn{margin-top:18px}.commission-page-grid{display:grid;grid-template-columns:1fr 43%;gap:80px;align-items:center}.commission-page-image{height:370px;border:9px solid #e4deeb;box-shadow:0 14px 44px #32354e25}.commission-page-image img{width:100%;height:100%;object-fit:cover}.narrow{max-width:770px}.contact-content,.whispers-content{text-align:center}.contact-content p,.whispers-content p{margin-left:auto;margin-right:auto}.social-row-center{justify-content:center;margin:27px 0}.note-soft{font-size:15px!important;color:#7d7489!important}.coming-soon-mark{font:125px Georgia;color:#9c8ab8;line-height:1}.whispers-content h2{margin-top:0}.lightbox{background:#1b2332;color:white;border:1px solid #c4b9d5;max-width:min(940px,90vw);max-height:90vh;padding:24px;box-shadow:0 16px 70px #0009}.lightbox::backdrop{background:#0c1022df}.lightbox img{max-height:76vh;max-width:100%;object-fit:contain;margin:auto}.lightbox p{text-align:center;font:25px var(--serif);margin:12px 0 0}.close-lightbox{position:absolute;right:7px;top:4px;background:transparent;border:0;font-size:30px;color:white;cursor:pointer}








/* Archive pages: a clean square-cover row instead of a cramped tile grid.
   Homepage featured work remains unchanged. */
.writing-grid,.art-archive-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(18px,2.4vw,32px)
}
.writing-grid .writing-card,.art-archive-row{
  display:grid;
  grid-template-columns:clamp(178px,22vw,240px) minmax(0,1fr);
  align-items:stretch;
  gap:clamp(18px,2.4vw,34px);
  padding:clamp(12px,1.4vw,18px);
  min-height:0;
  border:1px solid #c9c2d3;
  border-radius:9px;
  background:#fdfaffaf;
  box-shadow:0 12px 35px #2b30460d;
  overflow:hidden
}
.writing-grid .writing-thumb,.art-archive-cover{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  min-height:0;
  height:auto;
  border-radius:6px;
  overflow:hidden;
  background:#d9d2e3;
  align-self:start
}
.writing-grid .writing-thumb img,.art-archive-cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .25s ease
}
.writing-grid .writing-thumb:hover img,.art-archive-cover:hover img{transform:scale(1.035)}
.writing-grid .writing-info,.art-archive-info{
  min-width:0;
  padding:clamp(5px,1vw,12px) clamp(4px,1vw,14px) clamp(5px,1vw,12px) 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:0
}
.writing-grid .writing-info h3,.art-archive-info h3{
  font:500 clamp(28px,3.2vw,var(--cx-story-title,42px))/1.12 var(--serif);
  margin:7px 0 13px;
  letter-spacing:.01em;
  color:#2e2a42
}
.art-archive-info h3{font-style:normal}
.writing-grid .writing-info .eyebrow,.art-archive-info .eyebrow{
  color:#82728f;
  letter-spacing:.13em;
  font-size:var(--cx-eyebrow,12px)
}
.writing-grid .card-summary,.art-archive-description{
  max-width:760px;
  font:var(--cx-story-summary,18px)/var(--cx-paragraph-leading,1.55) var(--serif);
  color:#4c475b;
  margin:0 0 12px;
  overflow-wrap:anywhere
}
.writing-grid .card-summary p,.art-archive-description p{
  font:inherit;
  color:inherit;
  margin:0 0 .75em
}
.writing-grid .card-summary p:last-child,.art-archive-description p:last-child{margin-bottom:0}
.writing-grid .writing-info .text-link,.art-archive-view{
  font:600 var(--cx-button,13px) var(--sans);
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#725b94;
  margin-top:auto;
  padding:8px 0 0;
  background:transparent;
  border:0;
  text-align:left;
  cursor:pointer
}
.writing-grid .writing-info .text-link:hover,.art-archive-view:hover{text-decoration:underline}
.art-archive-cover{border:0;cursor:zoom-in;padding:0}
.art-archive-cover .art-zoom{position:absolute;bottom:12px;right:12px}




/* Home: featured sections stack vertically with square, independent covers.
   The archive layouts on /writing/ and /artwork/ are intentionally unchanged. */
.work-section .work-columns{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(38px,5vw,64px)
}
.work-section .work-columns > div{min-width:0}
.work-section .writing-list{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.work-section .writing-list .writing-card{
  display:grid;
  grid-template-columns:clamp(185px,22vw,255px) minmax(0,1fr);
  gap:clamp(18px,2.6vw,34px);
  align-items:stretch;
  min-height:0;
  border:1px solid #c9c2d3;
  border-radius:9px;
  background:#fdfaffaf;
  box-shadow:0 12px 35px #2b30460d;
  padding:clamp(12px,1.4vw,18px);
  overflow:hidden
}
.work-section .writing-list .writing-thumb{
  display:block;
  aspect-ratio:1/1;
  height:auto;
  min-height:0;
  align-self:start;
  overflow:hidden;
  border-radius:6px;
  background:#d9d2e3
}
.work-section .writing-list .writing-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}
.work-section .writing-list .writing-info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  min-width:0;
  padding:clamp(5px,1vw,12px) clamp(4px,1vw,14px) clamp(5px,1vw,12px) 0
}
.work-section .writing-list .writing-info .eyebrow{
  color:#82728f;
  font-size:var(--cx-eyebrow,12px);
  letter-spacing:.12em;
  line-height:1.5
}
.work-section .writing-list .writing-info h3{
  font:italic 500 clamp(27px,3vw,41px)/1.1 var(--serif);
  color:#2e2a42;
  margin:8px 0 12px
}
.work-section .writing-list .writing-info .card-summary{
  font:400 var(--cx-story-summary,19px)/var(--cx-paragraph-leading,1.55) var(--serif);
  color:#484457;
  max-width:790px;
  overflow-wrap:anywhere
}
.work-section .writing-list .writing-info .card-summary p{
  font:inherit;
  color:inherit;
  margin:0 0 .65em
}
.work-section .writing-list .writing-info .card-summary p:last-child{margin-bottom:0}
.work-section .writing-list .writing-info .text-link{
  padding-top:14px;
  margin-top:auto;
  font:600 var(--cx-button,13px) var(--sans);
  letter-spacing:.1em;
  color:#725b94
}

/* Square artwork previews with compact, readable captions underneath. */
.work-section .art-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:none;
  gap:clamp(14px,2vw,24px);
  height:auto
}
.work-section .art-feature-grid .feature-art{grid-row:auto;min-width:0}
.work-section .feature-art .art-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
  border:1px solid #c9c2d3;
  border-radius:9px;
  overflow:hidden;
  background:#fbf8fd;
  box-shadow:0 12px 35px #2b30460d
}
.work-section .feature-art .art-open{
  position:relative;
  display:block;
  flex:none;
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#343c57
}
.work-section .feature-art .art-open img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}
.work-section .feature-art .art-caption{
  display:flex;
  flex:1;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  background:#f9f6fb;
  color:#282c41
}
.work-section .feature-art .art-caption .eyebrow{font-size:10px;letter-spacing:.11em}
.work-section .feature-art .art-caption h3{
  font:500 clamp(22px,2.1vw,30px)/1.13 var(--serif);
  margin:4px 0 0
}
.work-section .feature-art .art-caption > span{color:#8976a5}








/* Larger two-line homepage headline.
   Widen the heading only; keep supporting text easy to read. */
.hero .hero-copy{width:100%;max-width:min(1120px,100%)}
.hero .hero-title{
  max-width:none;
  font-size:clamp(58px,7vw,var(--cx-hero-title));
  line-height:.98;
  letter-spacing:-.025em;
  margin:24px 0 30px
}
.hero .hero-title-main,.hero .hero-title-sub{display:block}
.hero .hero-title-main{white-space:nowrap}
.hero .hero-title-sub{
  white-space:nowrap;
  margin-top:.08em;
  color:#c9b9e5
}







/* Rich-text images uploaded from Pages CMS in writing detail pages. */
.detail-copy .detail-body img,
.detail-copy .detail-body .detail-inline-image{
  display:block;
  max-width:100%;
  height:auto;
  margin:clamp(20px,3vw,36px) 0;
  border:1px solid #cec5d9;
  border-radius:8px;
  box-shadow:0 12px 32px #232a4212
}
.detail-copy .detail-body figure{
  max-width:100%;
  margin:clamp(24px,3.3vw,42px) 0
}
.detail-copy .detail-body figure img{margin:0 0 12px}
.detail-copy .detail-body figcaption{
  color:#645b75;
  font:italic 16px/1.45 var(--serif);
  text-align:left
}


/* Dedicated platform links on the Commissions page. */
.commission-platforms{
  padding:clamp(44px,6vw,82px) 0 clamp(58px,7vw,100px);
  background:linear-gradient(145deg,#eeebf3,#e4e0ec);
  border-top:1px solid #d4cbde
}
.commission-platforms .section-intro{margin-bottom:32px}
.commission-platforms .section-intro h2{
  font:500 clamp(33px,4vw,52px)/1.13 var(--serif);
  text-transform:none;
  letter-spacing:.025em;
  color:#2b2d43;
  margin:8px 0 13px
}
.commission-platforms .section-intro .commission-links-lead{
  font:400 clamp(17px,1.9vw,22px)/1.45 var(--serif);
  text-transform:none;
  letter-spacing:normal;
  color:#61586e;
  max-width:680px;
  margin:0 auto
}
.commission-platform-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2.2vw,30px);
  max-width:1020px;
  margin:0 auto
}
.commission-platform-card{
  border:1px solid #cabed7;
  border-radius:10px;
  padding:clamp(25px,3vw,40px);
  background:#faf8fc;
  box-shadow:0 14px 40px #262b4510;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0
}
.commission-platform-star{font:32px/1 var(--serif);color:#9a86b8}
.commission-platform-card h3{
  font:500 clamp(33px,3.2vw,44px)/1.12 var(--serif);
  color:#343049;
  margin:8px 0 10px
}
.commission-platform-card p{
  font:400 clamp(17px,1.7vw,20px)/1.45 var(--serif);
  color:#605a6e;
  margin:0 0 25px
}
.commission-platform-card .btn{margin-top:auto}




/* FINAL homepage restoration: prevent legacy homepage grid and cached styles
   from turning featured cards into narrow, tall columns. */
.work-section .home-featured-stack{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:clamp(38px,5vw,66px)!important;
  align-items:start!important
}
.work-section .home-featured-stack > div{min-width:0;width:100%}
.work-section .home-featured-writing{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:clamp(16px,2vw,26px)!important
}
.work-section .home-featured-writing .writing-card{
  display:grid!important;
  grid-template-columns:clamp(190px,21vw,240px) minmax(0,1fr)!important;
  gap:clamp(20px,3vw,38px)!important;
  min-height:0!important;
  height:auto!important;
  align-items:start!important;
  padding:clamp(14px,2vw,23px)!important;
  border:1px solid #c9c2d3;
  border-radius:9px;
  background:#fdfaffaf
}
.work-section .home-featured-writing .writing-thumb{
  display:block!important;
  position:relative;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  align-self:start!important;
  border-radius:6px;
  overflow:hidden
}
.work-section .home-featured-writing .writing-thumb img{
  display:block!important;
  position:absolute!important;
  inset:0;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important
}
.work-section .home-featured-writing .writing-info{
  min-width:0!important;
  padding:5px 8px 10px 0;
  align-self:center
}
/* Featured artwork: keep the editorial two-column collage, but each upload
   determines its own height. No aspect-ratio boxes or image cropping. */
.work-section .home-featured-mosaic{
  display:grid!important;
  width:100%;
  max-width:790px;
  margin:0 auto;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:auto auto!important;
  align-items:start!important;
  gap:clamp(12px,1.6vw,18px)!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important
}
.work-section .home-featured-mosaic .feature-art{
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  align-self:start!important;
  aspect-ratio:auto!important;
  grid-row:auto!important
}
.work-section .home-featured-mosaic .feature-art-1{
  grid-column:1!important;
  grid-row:1 / 3!important
}
.work-section .home-featured-mosaic .feature-art-2{
  grid-column:2!important;
  grid-row:1!important
}
.work-section .home-featured-mosaic .feature-art-3{
  grid-column:2!important;
  grid-row:2!important
}
.work-section .home-featured-mosaic .art-card{
  position:relative;
  display:block!important;
  width:100%;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  border:0;
  border-radius:7px;
  overflow:hidden;
  background:#252e46
}
.work-section .home-featured-mosaic .art-open{
  position:relative;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:hidden;
  cursor:zoom-in
}
.work-section .home-featured-mosaic .art-open img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center
}
.work-section .home-featured-mosaic .art-caption{display:none!important}

/* Each phrase is an independent line, regardless of CMS heading sizes. */
.hero .hero-title{
  font-size:clamp(43px,5.8vw,90px)!important;
  line-height:1.05!important;
  max-width:min(1080px,100%)!important
}
.hero .hero-title-main,.hero .hero-title-sub{
  display:block!important;
  float:none!important;
  clear:both!important
}
.hero .hero-title-sub{margin-top:.12em!important}






/* Combined commissions: one main section with both platforms side by side. */
.commission-page-section{
  padding-bottom:clamp(95px,9vw,160px)!important
}
.commission-links-inline{
  margin-top:clamp(30px,4vw,52px);
  padding-top:clamp(22px,2.6vw,32px);
  border-top:1px solid #c9bfd4
}
.commission-links-inline h3{
  font:500 clamp(26px,3vw,38px)/1.2 var(--serif);
  color:#383148;
  margin:0 0 7px
}
.commission-links-inline .commission-links-caption{
  font:400 clamp(16px,1.7vw,19px)/1.42 var(--serif);
  color:#5a5468;
  margin:0 0 23px;
  max-width:670px
}
.commission-inline-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(12px,2vw,22px)
}
.commission-inline-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  padding:clamp(16px,2vw,27px);
  border:1px solid #c9bbd8;
  border-radius:8px;
  background:#faf8fc;
  box-shadow:0 12px 30px #3033470a
}
.commission-inline-card h4{
  font:500 clamp(26px,2.6vw,34px)/1.1 var(--serif);
  color:#393348;
  margin:0 0 8px
}
.commission-inline-card p{font:17px/1.4 var(--serif);color:#5b566a;margin:0 0 18px}
.commission-inline-card .btn{margin-top:auto}
.commission-link-pending{
  display:inline-block;
  margin-top:auto;
  padding:10px 14px;
  border:1px solid #bfb2cd;
  border-radius:5px;
  font:600 12px var(--sans);
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#6c617b;
  background:#ede8f3
}




/* Full-size artwork viewer. Dialog used to shrink-wrap the thumbnail's
   intrinsic size, producing a postage-stamp preview on wide screens. */
.lightbox{
  box-sizing:border-box;
  width:min(1120px,94vw);
  height:min(88dvh,900px);
  max-width:94vw;
  max-height:90dvh;
  padding:clamp(15px,2.2vw,28px);
  border:1px solid #c4b9d5;
  border-radius:10px;
  background:#1b2332;
  color:#fff;
  box-shadow:0 22px 90px #000a;
  overflow:hidden
}
.lightbox[open]{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:12px
}
.lightbox img{
  display:block;
  flex:1 1 auto;
  align-self:center;
  width:100%;
  min-width:0;
  height:100%;
  min-height:0;
  max-height:calc(88dvh - 96px);
  max-width:100%;
  object-fit:contain;
  object-position:center;
  margin:0 auto
}
.lightbox p{
  flex:0 0 auto;
  font:500 clamp(19px,2vw,26px)/1.25 var(--serif);
  text-align:center;
  margin:0;
  color:#f3eefe
}
.lightbox .close-lightbox{
  z-index:3;
  top:8px;
  right:10px;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#101828dc;
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer
}
.lightbox::backdrop{background:#080d1cdb}




/* Whispers invitation gets a dedicated, centrally aligned home section.
   Actual messages remain exclusively on /whispers/. */
.whispers-invite-section{
  padding:clamp(52px,6.5vw,95px) 0;
  background:linear-gradient(145deg,#eeebf2 0%,#e7e2ee 70%,#eeebf3 100%);
}
.whispers-invite-section .whispers-card-centered{
  box-sizing:border-box;
  width:min(100%,780px);
  max-width:780px;
  margin:0 auto;
  padding:clamp(32px,4vw,58px) clamp(24px,5vw,64px);
  border:1px solid #c4b7d3;
  border-radius:12px;
  background:#dcd5e6;
  box-shadow:0 20px 55px #2a294216;
  text-align:center;
}
.whispers-invite-section .whispers-card-centered .eyebrow{
  display:block;
  color:#6f5e8d;
  letter-spacing:.22em
}
.whispers-invite-section .whispers-card-centered h3{
  font:italic 500 clamp(33px,4.2vw,51px)/1.18 var(--serif);
  color:#28304a;
  margin:14px 0 12px
}
.whispers-invite-section .whispers-card-centered p{
  font:400 clamp(17px,1.9vw,21px)/1.5 var(--serif);
  color:#554d6a;
  letter-spacing:normal;
  margin:0 auto 26px;
  max-width:560px
}
.whispers-invite-section .whispers-card-centered .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center
}
.connect-section .connect-grid-solo{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center;
  text-align:center
}
.connect-section .connect-content{width:min(100%,820px);min-width:0}
.connect-section .connect-grid-solo .social-row{justify-content:center}




/* Larger, easier-to-read social icons on the Contact page and homepage. */
.social-row{
  gap:clamp(14px,2vw,24px);
}
.social-row .social-link{
  width:94px;
  gap:10px;
  font-size:11px;
  letter-spacing:.075em;
  line-height:1.35;
  color:#45465f;
}
.social-row .social-icon{
  box-sizing:border-box;
  width:70px;
  height:66px;
  font-size:32px;
  line-height:1;
  border:1px solid #b9acce;
  border-radius:11px;
  background:#ffffff55;
  color:#665284;
  transition:background .2s,border-color .2s,transform .2s;
}
.social-row .social-link:hover .social-icon{
  background:#d9cde8;
  border-color:#9982b8;
  transform:translateY(-2px)
}
.social-row .social-link:focus-visible{
  border-radius:8px;
  outline:2px solid #80699d;
  outline-offset:4px;
}




/* Give the final two homepage sections distinct visual identities.
   Whispers is a large, inviting lavender panel, while Connect is a darker
   navy-purple footer-adjacent section. Other pages are unchanged. */
.whispers-invite-section{
  padding:clamp(66px,7.5vw,112px) 0;
  background:linear-gradient(145deg,#f2eef7 0%,#eae4f2 68%,#f0ebf6 100%);
}
.whispers-invite-section .whispers-card-centered{
  width:min(100%,950px);
  max-width:950px;
  padding:clamp(45px,5.4vw,75px) clamp(25px,6vw,86px);
  border:1px solid #bcaed0;
  border-radius:14px;
  background:linear-gradient(135deg,#ddd6e9,#d5cce3);
  box-shadow:0 22px 70px #31304c1c
}
.whispers-invite-section .whispers-card-centered .eyebrow{
  font-size:clamp(12px,1.1vw,15px);
  letter-spacing:.19em;
  color:#655080
}
.whispers-invite-section .whispers-card-centered h3{
  font:italic 500 clamp(43px,5vw,65px)/1.12 var(--serif);
  margin:20px 0 15px;
  color:#252b44
}
.whispers-invite-section .whispers-card-centered p{
  font:400 clamp(19px,2vw,24px)/1.52 var(--serif);
  color:#474159;
  max-width:680px;
  margin:0 auto 32px;
  letter-spacing:0
}
.whispers-invite-section .whispers-card-centered .btn{
  padding:16px 27px;
  font-size:clamp(13px,1.05vw,16px);
  letter-spacing:.09em;
  min-height:52px
}
.connect-section{
  background:linear-gradient(120deg,#35405b 0%,#444462 62%,#4b4668 100%);
  color:#f7f1ff;
  border-top:1px solid #c9bdd3;
  padding:clamp(61px,6vw,86px) 0 clamp(65px,7vw,97px)
}
.connect-section .connect-content{max-width:920px}
.connect-section h2{
  color:#fff7ff;
  font-size:clamp(35px,4vw,51px);
  line-height:1.15
}
.connect-section .eyebrow{color:#d9c8f1}
.connect-section p:not(.eyebrow){
  color:#ebe1f6;
  font-size:clamp(15px,1.4vw,19px);
  line-height:1.5;
  letter-spacing:.015em
}
.connect-section .social-row{
  justify-content:center;
  gap:clamp(18px,2.5vw,35px);
  margin-top:28px
}
.connect-section .social-row .social-link{
  width:110px;
  font-size:12px;
  color:#f4eafa;
  letter-spacing:.075em;
  gap:11px
}
.connect-section .social-row .social-icon{
  width:84px;
  height:80px;
  font-size:40px;
  line-height:1;
  color:#f2e6ff;
  border:1px solid #a9a1c2;
  border-radius:13px;
  background:#ffffff18
}
.connect-section .social-row .social-link:hover .social-icon{
  background:#c5b0e047;
  border-color:#dfcaed
}






/* Let’s Connect: authentic white brand icons, with visible readable labels. */
.connect-section .connect-social-row{
  justify-content:center;
  align-items:flex-start;
  gap:clamp(15px,2.7vw,32px);
}
.connect-section .connect-social-row .connect-social-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:90px;
  width:110px;
  text-decoration:none;
  color:#fff;
}
.connect-section .connect-social-row .social-icon{
  display:grid;
  place-items:center;
  width:84px;
  height:80px;
}
.connect-section .connect-social-row .social-icon img{
  display:block;
  width:43px;
  height:43px;
  object-fit:contain;
  filter:none;
  transition:transform .2s
}
.connect-section .connect-social-row .connect-social-link:hover img{
  transform:scale(1.08)
}
.connect-section .connect-social-row .social-label{
  display:block;
  color:#fff;
  font:600 12px/1.4 var(--sans);
  letter-spacing:.065em;
  text-align:center;
  text-transform:uppercase;
  margin-top:4px
}

/* The official white Ko-fi and VGen symbols live on navy-purple tiles
   so they stay visible against the pale commissions card background. */
.commission-brand-heading{
  display:flex;
  gap:13px;
  align-items:center;
  margin-bottom:16px
}
.commission-brand-icon{
  display:grid;
  flex:none;
  place-items:center;
  width:55px;
  height:55px;
  border-radius:10px;
  background:#404461;
  border:1px solid #5d547b
}
.commission-brand-icon img{
  display:block;
  width:34px;
  height:34px;
  object-fit:contain
}
.commission-brand-icon .vgen-white-logo{
  filter:brightness(0) invert(1)
}
.commission-brand-heading h4{margin:0}



/* Whispers' optional From input is always visible; no name checkbox. */
.whispers-fields .whispers-name-field{
  display:grid!important;
  gap:9px;
  margin:0 0 12px
}
.whispers-fields .whispers-name-field label{
  color:#5c5277
}
.whispers-fields .whispers-name-field input{
  min-height:50px;
  font:400 18px/1.4 var(--serif);
  background:#fff
}
.whispers-fields .whispers-name-privacy{
  margin-top:-2px;
  color:#686179;
  font:12px/1.45 var(--sans)
}


/* Homepage navigation order:
   Writing → Artwork → Commissions → About Caerunox → Whispers → Contact.
   Commissions and About are separate full-width editorial sections. */
.home-commissions-section,
.home-about-section{
  color:#eee7f5;
  padding:clamp(64px,7vw,106px) 0;
}
.home-commissions-section{
  background:linear-gradient(116deg,#1c263a,#29334b 66%,#343a54);
}
.home-about-section{
  background:linear-gradient(118deg,#35354f,#2b3048 58%,#202a3d);
  border-top:1px solid #aaa2c533;
}
.home-section-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(28px,5vw,90px);
}
.home-commission-copy,.home-about-copy{min-width:0}
.home-section-eyebrow{display:block;color:#cab9e0;letter-spacing:.15em;font:600 12px/1.6 var(--sans)}
.home-commissions-section h2,.home-about-section h2{
  color:#f9f3ff;
  font:500 clamp(35px,4.1vw,57px)/1.17 var(--serif);
  letter-spacing:.04em;
  margin:10px 0 22px
}
.home-about-section h3{
  color:#e8d5fb;
  font:italic 500 clamp(26px,3vw,37px)/1.18 var(--serif);
  margin:0 0 16px
}
.home-commission-description{
  max-width:640px;
  margin:0 0 24px;
}
.home-commission-description p,
.home-about-paragraphs p{
  font:400 clamp(18px,2.05vw,22px)/1.52 var(--serif);
  color:#e6deee;
  margin:0 0 17px
}
.home-commissions-section .btn,.home-about-section .btn{
  margin-top:14px
}
.home-commission-media{
  width:100%;
  max-width:580px;
  border:8px solid #b4a6c544;
  border-radius:7px;
  overflow:hidden;
  background:#333a53;
  box-shadow:0 21px 55px #080d1b55
}
.home-commission-media img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain
}
.home-about-media{
  width:min(100%,440px);
  justify-self:center;
  border:1px solid #a99ac2;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 21px 55px #080d1b55
}
.home-about-media img{
  display:block;
  width:100%;
  max-height:540px;
  height:auto;
  object-fit:contain
}
.home-about-paragraphs{max-width:700px}






/* ---- Caerunox grey-lavender editorial theme (2026 preview) ----
   One soft lavender canvas throughout the site. Deep muted periwinkle headings,
   ivory-lavender framed cards, dark navy only for chrome and accent details. */
:root{
  --paper:#e9e5ed;
  --ivory:#f4f0f6;
  --pale:#efebf3;
  --ink:#292e46;
  --muted:#686278;
  --border:#cbc3d4;
  --lav:#9e90bb;
  --lav2:#d2c7e4
}
body{background:#e9e5ed;color:#292e46}
main{background:#e9e5ed}
.hero{
  background:linear-gradient(115deg,#eeebf2,#e5e0ec);
  color:#292e46
}
.hero .hero-background img{
  opacity:.34;
  filter:saturate(.54) brightness(1.12)
}
.hero:before{
  background:linear-gradient(90deg,#f0edf4f7 0%,#ece8f1f0 45%,#e9e5edaf 100%)!important
}
.hero .hero-overline,.hero .hero-kicker{color:#665777}
.hero .hero-title-main{color:#29324b}
.hero .hero-title-sub,.hero h1 em{color:#88739c}
.hero .hero-desc,.hero .hero-desc p{color:#484257}
.hero .little-rule{color:#847293}
.hero .little-rule:before,.hero .little-rule:after{background:#b5a6c6}
.hero .hero-footnote{color:#6f627b}
.work-section,
.home-commissions-section,
.home-about-section,
.whispers-invite-section,
.connect-section,
.collection-section,
.text-section,
.detail-top,
.whispers-page,
.whispers-admin,
.commission-platforms{
  background:#e9e5ed!important;
  color:#2b3047!important
}
.work-section{padding:clamp(48px,6vw,83px) 0}
.work-section .section-intro{
  background:#49475f;
  border:1px solid #69617f;
  border-radius:9px;
  padding:clamp(25px,3.5vw,40px) 22px;
  box-shadow:0 12px 32px #29264019;
  margin-bottom:clamp(28px,4vw,46px)
}
.work-section .section-intro h2,
.work-section .section-intro .eyebrow,
.work-section .section-intro p{color:#f8f3ff}
.work-section .section-intro .eyebrow{color:#d9cbe9}
.work-section .section-flourish,
.work-section .section-flourish:before,
.work-section .section-flourish:after{color:#d8c9e9}
.work-section .section-flourish:before,
.work-section .section-flourish:after{background:#ac9abf}
.work-section .section-heading{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  padding:18px 25px;
  background:#4c4a65;
  border:1px solid #69617f;
  border-radius:8px 8px 0 0;
  margin:0;
  color:#f8f4ff
}
.work-section .section-heading h3,
.work-section .section-heading a{color:#f9f3ff}
.work-section .section-heading a:hover{color:#dfc8f5}
.work-section .home-featured-stack > div{
  background:#f7f4f9;
  border:1px solid #c9bfd4;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 16px 46px #30314b13
}
.work-section .home-featured-writing{
  padding:clamp(18px,3vw,32px)
}
.work-section .home-featured-writing .writing-card,
.writing-grid .writing-card,
.art-archive-row{
  background:#fdfbff!important;
  border:1px solid #c8bfd3;
  box-shadow:0 10px 28px #38354c0d
}
.home-commissions-section,.home-about-section{
  border-top:1px solid #d0c5da;
  padding:clamp(34px,4.8vw,70px) 0!important
}
.home-section-grid{
  align-items:center;
  padding:clamp(22px,3.5vw,45px);
  background:#f8f5fa;
  border:1px solid #c6bbd1;
  border-radius:12px;
  box-shadow:0 16px 46px #30314b16
}
.home-commissions-section h2,
.home-about-section h2{
  color:#fff8ff!important;
  background:#4b4963;
  border:1px solid #615875;
  border-radius:7px;
  padding:16px 22px;
  margin:12px 0 26px;
  font-size:clamp(35px,4vw,55px)
}
.home-commissions-section .home-section-eyebrow,
.home-about-section .home-section-eyebrow{color:#706183}
.home-about-section h3{color:#605073}
.home-commissions-section .home-commission-description p,
.home-about-section .home-about-paragraphs p{color:#3e3d52}
.home-commissions-section .btn-outline,
.home-about-section .btn-outline{
  border:1px solid #9180a7;
  color:#443753
}
.home-commission-media,.home-about-media{
  border:6px solid #e4dce9;
  background:#f3eef7;
  box-shadow:0 14px 30px #3b385120
}
.whispers-invite-section{border-top:1px solid #d0c5da}
.whispers-invite-section .whispers-card-centered{
  width:min(100%,950px);
  max-width:950px;
  padding:clamp(30px,5vw,60px);
  background:#f8f5fa;
  border:1px solid #c6bad5;
  box-shadow:0 16px 48px #30314b15;
  color:#302d46
}
.whispers-invite-section .whispers-card-centered h3{
  color:#f9f3ff;
  background:#4b4963;
  border-radius:8px;
  padding:19px clamp(10px,3vw,40px)
}
.whispers-invite-section .whispers-card-centered p{color:#544b62}
.connect-section{border-top:1px solid #d0c5da!important}
.connect-section .connect-content{
  width:min(100%,980px);
  max-width:980px;
  background:#f8f5fa;
  border:1px solid #c6bad5;
  border-radius:12px;
  box-shadow:0 15px 48px #30314b15;
  padding:clamp(28px,4.5vw,58px)
}
.connect-section h2{
  color:#fff8ff;
  background:#4b4963;
  border-radius:7px;
  padding:17px 13px;
  margin:12px 0 22px
}
.connect-section .eyebrow{color:#78668e}
.connect-section p:not(.eyebrow){color:#514c60}
.connect-section .connect-social-row .social-icon{
  background:#474660;
  border-color:#686080
}
.connect-section .connect-social-row .social-label,
.connect-section .connect-social-row .connect-social-link{color:#51445d}
.connect-section .social-row .social-link:hover .social-icon{background:#605475}
.page-banner{
  background:linear-gradient(145deg,#ece8f2,#e4dfe9);
  color:#292e46;
  padding:clamp(20px,4vw,40px) 0
}
.page-banner:after{color:#82729113}
.page-banner .page-banner-inner{
  width:min(1020px,calc(100% - 50px));
  background:#4b4963;
  border:1px solid #6c6182;
  border-radius:11px;
  padding:clamp(30px,5vw,64px) 18px;
  box-shadow:0 16px 40px #29264020
}
.page-banner .eyebrow{color:#dfd0ef}
.page-banner h1{color:#fbf6ff}
.page-banner p:last-child{color:#ece4f6}
.collection-section,.text-section,.detail-top{padding:clamp(45px,6vw,90px) 0}
.collection-heading{
  padding:17px 24px;
  background:#4b4963;
  border:1px solid #645b7b;
  color:#fbf7ff;
  border-radius:8px;
  margin-bottom:clamp(21px,3vw,33px)
}
.collection-heading h2,.collection-heading span{color:#faf5ff}
.about-page-grid,
.commission-page-grid,
.contact-content,
.detail-grid{
  background:#f8f5fa;
  border:1px solid #c9bfd4;
  border-radius:12px;
  padding:clamp(20px,4vw,48px);
  box-shadow:0 16px 42px #30314b12
}
.text-section .contact-content h2{
  background:#4b4963;
  color:#f9f3ff;
  padding:16px;
  border-radius:7px
}
.commission-inline-card{
  background:#fefbff;
  border:1px solid #c9bcd5
}
.commission-platforms .section-intro h2{color:#3b3452}
.whispers-page .whispers-panel,
.whispers-admin .whispers-panel{
  background:#fbf8fc;
  border-color:#c3b7d2
}
.whispers-page .whispers-intro h2,
.whispers-admin .whispers-intro h2{color:#443c60}
.btn-lavender{
  background:#75658f;
  border-color:#8674a5;
  color:#fff;
}
.btn-lavender:hover{background:#604e82}



/* Homepage featured artwork filmstrip. One dominant central piece, two
   smaller left/right neighbours; preserve originals without cropping. */
.work-section .home-filmstrip{
  padding:clamp(20px,3.5vw,44px) clamp(14px,3vw,34px);
  background:#f7f4f9;
}
.home-filmstrip .filmstrip-stage{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.4fr) minmax(0,.82fr);
  gap:clamp(7px,2.2vw,27px);
  align-items:center;
  width:100%;
  max-width:1060px;
  min-height:clamp(255px,39vw,490px);
  margin:0 auto
}
.home-filmstrip .filmstrip-slide{
  display:none;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:clamp(220px,37vw,460px);
  padding:clamp(8px,1.5vw,17px);
  border:1px solid #b3a5c6;
  border-radius:9px;
  background:#e7e0ed;
  box-shadow:0 13px 36px #262c4022;
  transition:transform .38s,opacity .38s,box-shadow .38s;
  cursor:pointer;
  overflow:hidden
}
.home-filmstrip .filmstrip-slide.is-center{
  display:flex;
  grid-column:2;
  transform:scale(1);
  box-shadow:0 23px 47px #262c402b;
  border-color:#8d7ba5;
  position:relative;
  z-index:3
}
.home-filmstrip .filmstrip-slide.is-prev{
  display:flex;
  grid-column:1;
  transform:scale(.8);
  opacity:.7
}
.home-filmstrip .filmstrip-slide.is-next{
  display:flex;
  grid-column:3;
  transform:scale(.8);
  opacity:.7
}
.home-filmstrip .filmstrip-slide:hover,
.home-filmstrip .filmstrip-slide:focus-visible{
  opacity:1;
  border-color:#776288
}
.home-filmstrip .filmstrip-mat{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  background:#dcd4e6;
  border-radius:5px;
  overflow:hidden
}
.home-filmstrip .filmstrip-mat img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain!important;
  transform:none!important
}
.home-filmstrip .filmstrip-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(12px,2vw,30px);
  margin:20px auto 0;
  max-width:750px
}
.home-filmstrip .filmstrip-arrow{
  flex:none;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  background:#4e4b67;
  border:1px solid #6d6284;
  border-radius:50%;
  color:#fff;
  font:30px/1 var(--serif);
  cursor:pointer
}
.home-filmstrip .filmstrip-arrow:hover{background:#73608f}
.home-filmstrip .filmstrip-arrow[hidden]{display:none}
.home-filmstrip .filmstrip-label{
  color:#50485f;
  text-align:center;
  font:italic 500 clamp(16px,1.8vw,22px)/1.35 var(--serif);
  min-width:0;
  max-width:410px
}
.home-filmstrip .filmstrip-empty{
  grid-column:1/-1;
  padding:30px;
  text-align:center;
  color:#6a6077;
  font:italic 22px var(--serif)
}




/* Moonlit seamless refinement: one continuous grey-lavender page.
   Only individual writing and artwork previews retain frames. */
body,main,.hero,.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{
  background:#e9e5ed!important;
  color:#323249!important
}
.hero:before{background:linear-gradient(90deg,#e9e5edf8,#e9e5eddd 65%,#e9e5ed91)!important}
.hero .hero-background img{opacity:.26}
.work-section .section-intro,
.work-section .home-featured-stack > div,
.home-section-grid,
.whispers-invite-section .whispers-card-centered,
.connect-section .connect-content,
.page-banner .page-banner-inner,
.collection-heading,
.about-page-grid,.commission-page-grid,.contact-content,.detail-grid{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important
}
.work-section .section-intro{padding:12px 0 22px!important;margin-bottom:14px!important}
.work-section .section-intro h2{color:#51485f!important}
.work-section .section-intro .eyebrow,
.work-section .section-intro p{color:#6c6277!important}
.work-section .section-flourish{color:#827098!important}
.work-section .section-heading{
  padding:8px 0 17px!important;
  background:transparent!important;
  color:#544962!important;
  border:0!important;
  border-radius:0!important;
  display:flex
}
.work-section .section-heading h3,
.work-section .section-heading a{color:#504761!important}
.work-section .home-featured-stack>div{overflow:visible!important}
.work-section .home-featured-writing{padding:0 0 6px!important}
.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:#5b4f6f!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important
}
.home-commissions-section .home-section-grid,.home-about-section .home-section-grid{
  padding:clamp(10px,2vw,24px) 0!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){color:#4c485b!important}
.home-commissions-section .home-section-eyebrow,
.home-about-section .home-section-eyebrow,
.connect-section .eyebrow{color:#82718f!important}
.home-commission-media,.home-about-media{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important
}
.whispers-invite-section .whispers-card-centered{
  padding:clamp(20px,3vw,38px) 0!important
}
.whispers-invite-section .whispers-card-centered h3{margin:10px 0 18px}
.connect-section .connect-content{padding:clamp(15px,3vw,36px) 0!important}
.page-banner{padding:clamp(38px,5vw,65px) 0 0!important}
.page-banner .page-banner-inner{padding:12px 20px 28px!important}
.page-banner h1,.page-banner .eyebrow,.page-banner p:last-child{color:#514660!important}
.collection-heading{
  padding:0 0 18px!important;
  border-bottom:1px solid #c5b9d0!important;
  color:#53475e!important
}
.collection-heading h2,.collection-heading span{color:#53475e!important}
.about-page-grid,.commission-page-grid,.contact-content,.detail-grid{
  padding:clamp(10px,2vw,25px) 0!important
}
.home-commissions-section,.home-about-section,.whispers-invite-section,.connect-section{
  border:0!important;
  padding:clamp(42px,5vw,72px) 0!important
}
.work-section{padding-bottom:clamp(45px,6vw,80px)!important}
.work-section .work-columns.home-featured-stack{gap:clamp(36px,5vw,70px)!important}
.work-section .home-featured-stack > div+div:before,
.work-section:after,.home-commissions-section:after,
.home-about-section:after,.whispers-invite-section:after{
  content:'✧';
  display:block;
  clear:both;
  position:relative;
  width:min(640px,calc(100% - 42px));
  height:32px;
  font:25px/32px Georgia,serif;
  text-align:center;
  color:#9d8dae;
  margin:clamp(28px,4vw,54px) auto 0;
  background-image:linear-gradient(#c0b2cd,#c0b2cd),
                   linear-gradient(#c0b2cd,#c0b2cd);
  background-repeat:no-repeat;
  background-size:calc(50% - 24px) 1px;
  background-position:left center,right center;
  pointer-events:none
}
.work-section .home-featured-stack > div+div:before{
  margin:0 auto clamp(32px,4vw,56px)
}
/* Force stable carousel positions independent of CSS grid ordering. */
.work-section .home-filmstrip{
  padding:clamp(14px,3vw,32px) 0!important;
  background:transparent!important
}
.home-filmstrip .filmstrip-stage{
  position:relative!important;
  display:block!important;
  height:clamp(300px,41vw,490px);
  min-height:300px!important;
  width:100%;
  max-width:1000px;
  margin:auto
}
.home-filmstrip .filmstrip-slide{
  position:absolute!important;
  left:50%;
  top:50%;
  width:clamp(160px,31%,320px)!important;
  height:clamp(240px,36vw,430px)!important;
  display:none!important;
  transform:translate(-50%,-50%) scale(.75);
  opacity:0;
  margin:0!important;
  overflow:hidden;
  border:1px solid #c1b5cc;
  background:#f6f2f8
}
.home-filmstrip .filmstrip-slide.is-center{
  display:flex!important;
  left:50%;
  width:clamp(220px,43%,430px)!important;
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
  z-index:3
}
.home-filmstrip .filmstrip-slide.is-prev{
  display:flex!important;
  left:17%;
  opacity:.7;
  transform:translate(-50%,-50%) scale(.83);
  z-index:1
}
.home-filmstrip .filmstrip-slide.is-next{
  display:flex!important;
  left:83%;
  opacity:.7;
  transform:translate(-50%,-50%) scale(.83);
  z-index:1
}
.home-filmstrip .filmstrip-slide .filmstrip-mat{width:100%;height:100%;background:#f1eaf5}
.home-filmstrip .filmstrip-slide img{
  object-fit:contain!important;
  width:100%!important;
  height:100%!important
}
.home-filmstrip .filmstrip-controls{margin-top:12px}


/* Keep site chrome crisp; no dark content panels or banding. */
.site-header,.footer{background:#1e2638}


/* Private Media Studio. This functional editor is separate from the seamless
   public site and deliberately uses form panels for clarity. */
.studio-page{background:#e9e5ed;min-height:80vh;padding:60px 0 95px;color:#2b3047}
.studio-shell{width:min(1060px,calc(100% - 36px))}
.studio-heading{text-align:center;max-width:820px;margin:0 auto 30px}
.studio-heading .eyebrow{color:#716182}
.studio-heading h1{font:500 clamp(48px,6vw,78px)/1 var(--serif);margin:12px 0;color:#30364f}
.studio-heading p{font:19px/1.5 var(--serif);margin:10px 0;color:#554b62}
.studio-help a{font:600 12px var(--sans);letter-spacing:.08em;color:#655184}
.studio-status{background:#dcd5e8;border-radius:8px;padding:13px 18px;color:#453652;font-size:13px;margin:0 0 24px}
.studio-box{border:1px solid #c4b7d4;border-radius:11px;padding:clamp(19px,3vw,35px);background:#f9f6fb;margin:0 0 30px}
.studio-box h2,.studio-box h3,.studio-toolbar h2{font:500 clamp(27px,3vw,39px)/1.1 var(--serif);margin:0 0 13px;color:#3c3551}
.studio-box>p{font-size:13px;color:#61596e}
.studio-form{display:grid;gap:10px;max-width:650px}
.studio-form label{font-weight:600;font-size:12px;letter-spacing:.08em;color:#5d526b;margin-top:10px}
.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{
  box-sizing:border-box;
  width:100%;min-height:45px;padding:10px 12px;border-radius:6px;
  border:1px solid #bcb0cc;background:#fff;color:#2b3047;font:15px/1.4 var(--sans)
}
.studio-form textarea,.studio-edit-form textarea{resize:vertical}
.studio-form input[type=file]{padding:12px}
.studio-form .studio-check,.studio-check{display:flex;align-items:center;gap:9px;font:600 12px var(--sans);letter-spacing:normal}
.studio-check input{width:17px;height:17px;accent-color:#766493}
.studio-form .btn{justify-self:start;margin-top:18px}
.studio-file-preview{display:flex;align-items:center;gap:15px}
.studio-file-preview img{max-height:160px;max-width:185px;object-fit:contain;border:1px solid #d0c4d8;border-radius:5px}
.studio-toolbar{display:flex;justify-content:space-between;align-items:center;margin:16px 0}
.studio-secondary,.studio-danger{padding:10px 14px;cursor:pointer;border:1px solid #aa9bbb;border-radius:6px;color:#55466a;background:#f1ebf6}
.studio-danger{color:#903f59;border-color:#cfa2b4;background:#f8f0f2}
.studio-secondary:hover{background:#e1d7ed}
.studio-library{display:grid;gap:16px}
.studio-media-card{display:grid;grid-template-columns:clamp(120px,20%,195px) minmax(0,1fr);gap:19px;border:1px solid #d3c8da;border-radius:9px;padding:14px;background:#fff}
.studio-thumb{width:100%;max-height:180px;object-fit:contain;background:#eee9f3;border-radius:5px}
.studio-media-details{min-width:0}
.studio-media-details h3{font:500 27px/1.2 var(--serif);margin:0 0 9px}
.studio-meta{font:12px/1.5 var(--sans);margin:4px 0;color:#615970;overflow-wrap:anywhere}
.studio-actions{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0 0}
.studio-edit-form{display:grid;gap:9px;margin:18px 0 0;padding-top:16px;border-top:1px solid #d4cbde}
.studio-edit-form .btn{justify-self:start}
#studio-signin[hidden],#studio-workspace[hidden],.studio-edit-form[hidden]{display:none!important}
.studio-admin-link a{font:600 12px var(--sans);color:#766292}
.studio-footer-link{display:inline-block;font-size:10px;letter-spacing:.08em;margin-left:12px;color:#d4c5e6}
.studio-footer-link:hover{color:#fff}




/* Source: theme.css */
:root{--cx-brand:35px;--cx-nav:24px;--cx-hero-title:94px;--cx-hero-description:20px;--cx-page-title:70px;--cx-section-title:55px;--cx-subheading:30px;--cx-body:20px;--cx-about-body:20px;--cx-story-title:32px;--cx-story-summary:20px;--cx-project-body:25px;--cx-project-lead:26px;--cx-commission-body:20px;--cx-eyebrow:20px;--cx-button:20px;--cx-footer:16px;--cx-paragraph-gap:20px;--cx-section-pad:64px;--cx-card-gap:22px;--cx-nav-gap:18px;--cx-content-width:1260px;--cx-hero-height:580px;--cx-gallery-tile:380px;--cx-portrait-height:320px;--cx-commission-height:185px;--cx-body-leading:2.2;--cx-paragraph-leading:2.2}

body{font-size:var(--cx-body);line-height:var(--cx-body-leading)}
.shell{width:min(var(--cx-content-width),calc(100% - 80px))}
.brand-name{font-size:var(--cx-brand);letter-spacing:.17em}
.nav{gap:var(--cx-nav-gap)}
.nav a{font-size:var(--cx-nav);letter-spacing:.07em}
.eyebrow,.writing-info .eyebrow,.art-caption .eyebrow,.section-intro p{font-size:var(--cx-eyebrow)}
.btn,.text-link,.section-heading a{font-size:var(--cx-button)}
.hero,.hero-shell{min-height:var(--cx-hero-height)}
.hero h1{font-size:clamp(42px,6vw,var(--cx-hero-title));line-height:1.04}
.hero-desc,.hero-desc p{font-size:var(--cx-hero-description);line-height:var(--cx-paragraph-leading)}
.hero-desc{margin-bottom:26px}
.hero-desc p{margin:0 0 var(--cx-paragraph-gap)}
.page-banner h1{font-size:clamp(42px,6.5vw,var(--cx-page-title));line-height:1.08}
.section-intro h2,.connect-section h2{font-size:var(--cx-section-title);letter-spacing:.12em}
.section-heading h2,.section-heading h3,.dark-section-title h2,.text-section h2,.collection-heading h2{font-size:var(--cx-subheading)}
.work-section,.collection-section,.text-section{padding-top:var(--cx-section-pad);padding-bottom:var(--cx-section-pad)}
.about-and-commissions{padding-top:calc(var(--cx-section-pad)*.7);padding-bottom:calc(var(--cx-section-pad)*.7)}
.connect-section{padding-top:calc(var(--cx-section-pad)*.65);padding-bottom:calc(var(--cx-section-pad)*.65)}
.work-columns,.writing-grid,.gallery-grid,.detail-grid,.about-page-grid,.commission-page-grid{column-gap:var(--cx-card-gap);row-gap:var(--cx-card-gap)}
.writing-info h3,.writing-grid .writing-info h3{font-size:var(--cx-story-title);line-height:1.18}
.writing-info .card-summary,.writing-info .card-summary p{font:400 var(--cx-story-summary)/var(--cx-paragraph-leading) var(--serif);color:#424356}
.about-pair-copy .rich-text p{font-size:var(--cx-about-body);line-height:var(--cx-paragraph-leading);margin:0 0 var(--cx-paragraph-gap)}
.text-section .rich-text p,.text-section .rich-text li{font-size:var(--cx-about-body);line-height:var(--cx-paragraph-leading)}
.detail-copy .rich-text p,.detail-copy .rich-text li{font-size:var(--cx-project-body);line-height:var(--cx-paragraph-leading)}
.detail-copy .lead p,.text-section .lead p{font-size:var(--cx-project-lead);font-style:italic;line-height:var(--cx-paragraph-leading)}
.commission-text,.commission-text p,.text-section .commission-rich p{font-size:var(--cx-commission-body);line-height:var(--cx-paragraph-leading)}
.rich-text p{margin:0 0 var(--cx-paragraph-gap)}
.rich-text p:last-child{margin-bottom:0}
.rich-text ul,.rich-text ol{padding-left:1.5em;margin:0 0 var(--cx-paragraph-gap)}
.rich-text li{margin-bottom:.5em}
.rich-text blockquote{border-left:3px solid var(--lav);padding-left:1em;margin:1em 0;font-style:italic}
.rich-text a{text-decoration:underline;text-underline-offset:.15em}
.rich-text h2{font:500 var(--cx-subheading)/1.2 var(--serif);margin:1.2em 0 .45em}
.rich-text h3{font:500 calc(var(--cx-subheading)*.83)/1.2 var(--serif);margin:1.1em 0 .45em}
.art-feature-grid{column-gap:var(--cx-card-gap);row-gap:var(--cx-card-gap)}
.gallery-grid .art-open{height:var(--cx-gallery-tile)}
.about-portrait{height:var(--cx-portrait-height)}
.comm-img{height:var(--cx-commission-height)}
.footer-inner>small,.footer-center,.footer-brand small{font-size:var(--cx-footer)}



/* Source: whispers.css */

/* Whispers Beneath the Moon: inherits the Caerunox colour palette and font controls. */
.whispers-page{background:linear-gradient(170deg,#ece9f1,#e4e1ee 60%,#eef0f5);padding:var(--cx-section-pad,64px) 0}
.whispers-intro{text-align:center;max-width:740px;margin:0 auto 35px}
.whispers-intro .moon-mark{font:88px/1 Georgia,serif;color:#8b7ea4}
.whispers-intro h2{font:500 clamp(38px,5vw,60px)/1.1 var(--serif);letter-spacing:.04em;color:var(--night);margin:5px 0 13px}
.whispers-intro p{font:italic 23px/1.35 var(--serif);color:#625c75;margin:0}
.whispers-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(330px,1.2fr);gap:var(--cx-card-gap,28px);align-items:start}
.whispers-panel{border:1px solid #c1b6d3;background:#f8f6f9cc;border-radius:10px;padding:clamp(20px,3vw,36px);box-shadow:0 14px 42px #38415a11}
.whispers-panel h3{font:italic 500 37px/1.12 var(--serif);color:#4c4567;margin:0 0 12px}
.whispers-panel p{color:#5c586c}
.whispers-guidelines{font-size:14px;line-height:1.6;margin:0 0 20px}
.whispers-fields{display:grid;gap:10px}
.whispers-fields label{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#676076}
.whispers-fields textarea,.moderation-entry textarea,.admin-signin input{width:100%;background:#fff;border:1px solid #aca4c2;border-radius:6px;padding:14px 15px;resize:vertical;color:#242939;font:var(--cx-body,18px)/1.5 var(--serif)}
.whispers-fields textarea:focus,.moderation-entry textarea:focus,.admin-signin input:focus{outline:2px solid #9584b8;outline-offset:2px}
.whispers-characters{font:12px var(--sans);color:#6e687c}
.whispers-submit{margin-top:15px}
.whispers-submit:disabled,.moderation-actions button:disabled{opacity:.6;cursor:wait}
.whispers-notice{min-height:25px;color:#5d4b80;font:14px/1.5 var(--sans);margin:14px 0 0}
.whispers-privacy{font:13px/1.5 var(--sans);color:#69637a;margin-top:17px}
.whispers-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.whispers-list-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid #cec7d6;margin-bottom:20px}
.whispers-list-header h3{font:500 35px/1.2 var(--serif);letter-spacing:.05em;color:#554769;margin:0 0 10px}
.whispers-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cx-card-gap,20px)}
.whisper-entry{position:relative;min-height:152px;background:linear-gradient(145deg,#4a4963,#303950);color:#f4eef8;padding:25px 24px 20px;border:1px solid #8b83a0;border-radius:8px;box-shadow:0 10px 22px #313b541b;overflow-wrap:anywhere}
.whisper-entry:nth-child(3n + 2){background:linear-gradient(145deg,#414a64,#2d364e)}
.whisper-entry .whisper-star{color:#d6c5eb;font-size:20px}
.whisper-entry .whisper-message{white-space:pre-wrap;font:var(--cx-body,18px)/1.45 var(--serif);margin:6px 0 15px;color:#f2e9f8}
.whisper-entry small{display:block;font:11px var(--sans);text-transform:lowercase;letter-spacing:.12em;color:#d5c9e4}
.whisper-reply{margin:14px 0;padding:14px 0 0;border-top:1px solid #e2d9ee4a}
.whisper-reply strong{font:600 12px var(--sans);letter-spacing:.07em;color:#dbceed}
.whisper-reply p{white-space:pre-wrap;margin:8px 0 0;font:17px/1.45 var(--serif);color:#e8e2ef}
.whispers-mini{display:grid;gap:10px;margin-top:15px}
.whispers-mini .whisper-entry{min-height:auto;padding:14px 17px;background:linear-gradient(125deg,#4b4b67,#343b54)}
.whispers-mini .whisper-entry .whisper-message{font-size:17px;margin:3px 0 7px}
.whispers-mini .whisper-entry .whisper-star{font-size:14px}
.whispers-mini .whisper-entry small{font-size:10px}
.whispers-mini .whisper-reply{padding-top:9px;margin:9px 0}
.whispers-mini .whisper-reply p{font-size:14px}
.whispers-mini-title{font:500 23px var(--serif);margin:20px 0 0;color:#4d4562}
.whispers-mini-holder{margin-top:12px}
.whispers-mini-holder [data-whispers-status]{font:15px/1.45 var(--serif);color:#5f5871}
.whispers-card .whispers-mini-title{color:#544867}
.whispers-admin{background:#e8e4ee;min-height:65vh;padding:75px 0}
.whispers-admin .shell{max-width:920px}
.whispers-admin h2{font:500 49px var(--serif);margin:0 0 10px}
.admin-signin{max-width:480px;margin:0 auto}
.admin-signin input{margin:12px 0 20px}
.admin-signin label{font:600 13px var(--sans)}
.admin-dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.admin-moderation-list{display:grid;gap:17px;margin-top:20px}
.moderation-entry{background:#faf9fc;border:1px solid #c5bad4;border-radius:9px;padding:22px}
.moderation-heading{display:flex;justify-content:space-between;gap:12px}
.moderation-heading strong{text-transform:uppercase;font:700 12px var(--sans);color:#695782}
.moderation-heading small{font-size:12px;color:#676273}
.moderation-message{white-space:pre-wrap;overflow-wrap:anywhere;font:21px/1.4 var(--serif);padding:12px 0;color:#302b3d}
.moderation-entry label{display:block;font:600 13px var(--sans);color:#5c536e}
.moderation-entry textarea{display:block;margin:8px 0 16px}
.moderation-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center}
.moderation-actions select{padding:12px;border:1px solid #aaa0c1;border-radius:5px;max-width:100%}
.moderation-actions .btn-outline{border-color:#bbaece;color:#403d53}






/* Brighter, accessible lettering within the dark approved Whisper notes. */
.whispers-panel .whisper-entry{
  background:linear-gradient(145deg,#343c57,#242b42);
  color:#fff;
}
.whispers-panel .whisper-entry .whisper-message,
.whispers-panel .whisper-entry .whisper-reply p{
  color:#fff !important;
  opacity:1;
  text-shadow:0 1px 1px #12182d22;
}
.whispers-panel .whisper-entry .whisper-reply strong,
.whispers-panel .whisper-entry .whisper-author{
  color:#efe5ff;
  opacity:1;
  font-weight:600;
}
.whispers-panel .whisper-entry .whisper-star{color:#f4dfff}
.whispers-panel .whisper-entry .whisper-reply{border-top-color:#eee5ff66}
.whispers-panel .whisper-entry small{color:#eee3ff}
.whispers-mini .whisper-entry .whisper-message,
.whispers-mini .whisper-entry .whisper-reply p{color:#fff !important}
.whispers-mini .whisper-entry small{color:#eee3ff}

/* Optional public nickname; anonymous submission remains the default. */
.whispers-name-toggle{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  margin-top:12px;
  cursor:pointer;
  font:600 13px/1.4 var(--sans);
  letter-spacing:0;
  text-transform:none;
  color:#473a66
}
.whispers-fields .whispers-name-toggle{font-size:14px;text-transform:none;letter-spacing:0}
.whispers-name-toggle input[type="checkbox"]{
  width:19px;
  height:19px;
  margin:0;
  flex-shrink:0;
  accent-color:#78649b;
  cursor:pointer
}
.whispers-name-field:not([hidden]){display:grid;gap:8px}
.whispers-name-field{margin-top:4px}
.whispers-name-field input{
  display:block;
  width:100%;
  min-height:45px;
  border:1px solid #aaa2c0;
  border-radius:6px;
  padding:10px 13px;
  color:#22263a;
  background:#fff;
  font:17px var(--serif)
}
.whispers-name-field input:focus-visible{outline:2px solid #9281b9;outline-offset:2px}
.whispers-fields .whispers-name-privacy{font:12px/1.55 var(--sans);color:#645874}

/* Visible, unobtrusive link to protected moderator login. */
.whispers-list-header{flex-wrap:wrap;align-items:center}
.whispers-mod-link{
  display:inline-flex;
  gap:4px;
  align-items:center;
  padding:5px 0 13px;
  color:#60527a;
  font:600 12px/1.25 var(--sans);
  letter-spacing:.06em;
  text-transform:lowercase;
  text-decoration:none;
  white-space:nowrap
}
.whispers-mod-link:hover{text-decoration:underline;text-underline-offset:3px}
.whispers-mod-link:focus-visible{outline:2px solid #81709b}
.moderation-sender{
  color:#564878;
  font:600 13px/1.5 var(--sans);
  margin:12px 0 0;
  overflow-wrap:anywhere
}

/* Independent public pages: one quiet place to leave a whisper, another to
   read only moderator-approved messages. The moderation inbox is unchanged. */
/* One Whispers hub: the reading-board button comes first in the
   document, and the existing submission panel remains below it. The
   form's DOM position stays intact for saved visual-editor element IDs. */
.whispers-single{max-width:790px;margin-inline:auto}
.whispers-leave-page .whispers-intro{margin-bottom:clamp(22px,3vw,34px)}
.whispers-leave-page .whispers-hub-actions{
  margin:clamp(20px,3vw,28px) auto 0;
}
.whispers-leave-page .whispers-hub-actions .btn{
  min-width:clamp(175px,20vw,230px);
  border-radius:999px;
}
.whispers-page-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;
  margin:26px auto 34px;text-align:center}
.whispers-page-actions .btn{min-width:150px;max-width:100%}
.whispers-board-page .whispers-intro{margin-bottom:14px}
.whispers-reading-panel{max-width:1150px;margin-inline:auto}
.whispers-board-page .whispers-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.whispers-board-page [data-whispers-status]{margin:12px 0;color:inherit}



.whispers-more-wrap{display:flex;justify-content:center;margin:27px auto 4px}
.whispers-more-wrap .btn{min-width:165px}

/* The Moonkeeper's Desk: distinct moderation queues for incoming and
   approved whispers. Rejected whispers are available on demand. */
.whispers-admin .shell{max-width:1080px}
.whispers-admin #whispers-admin-dashboard[hidden]{display:none!important}
.whispers-admin #whispers-admin-dashboard>.admin-dashboard-head{
  margin:10px 0 22px;align-items:center
}
.whispers-admin #whispers-admin-dashboard .studio-admin-link{margin:0}
.moderation-shelf{
  margin:0 0 28px;padding:clamp(18px,2.5vw,30px);
  border:1px solid #76698a;border-radius:14px;
  background:#272e43;box-shadow:0 12px 32px #0c10252b
}
.moderation-shelf-heading{
  display:flex;justify-content:space-between;align-items:center;
  gap:20px;margin:0 0 16px
}
.moderation-shelf-heading h2{
  font:500 clamp(29px,4vw,40px)/1.13 var(--serif);
  color:#f3e8fc;margin:4px 0 8px
}
.moderation-shelf-heading p{color:#d4c6e0;margin:0;font:15px/1.5 var(--serif)}
.moderation-shelf-heading .moderation-shelf-eyebrow{
  color:#cdb5e9;text-transform:uppercase;
  letter-spacing:.12em;font:600 10px/1.3 var(--sans)
}
.moderation-count{
  display:inline-grid;place-items:center;flex:0 0 auto;
  min-width:49px;min-height:49px;padding:8px 12px;
  border:1px solid #9686aa;border-radius:50%;
  color:#f3e9fe;background:#3a435b;
  font:600 17px/1 var(--sans);font-variant-numeric:tabular-nums
}
.moderation-shelf .admin-moderation-list{
  display:grid;gap:14px;margin:0
}
.moderation-shelf .moderation-empty{
  border:1px dashed #807394;border-radius:10px;
  padding:24px;text-align:center;color:#d8c8e9;
  font:italic 17px/1.5 var(--serif)
}
.moderation-archive-toggle{
  display:flex;align-items:center;gap:11px;
  width:max-content;max-width:100%;cursor:pointer;
  margin:25px 0 15px;color:#e9dbf6;
  font:600 13px/1.4 var(--sans)
}
.moderation-archive-toggle input{accent-color:#bda6dc;width:18px;height:18px}
.moderation-archive-count{
  padding:3px 8px;border:1px solid #8e7da6;
  border-radius:20px;font-variant-numeric:tabular-nums
}
.moderation-shelf #whispers-admin-hidden[hidden]{display:none!important}




/* Source: dark-theme.css */
/* 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;
  /* Default to showing the entire illustration, instead of chopping off
     the top and bottom of a 5:3 image in a wide desktop banner. */
  object-fit:contain!important;
  object-position:right center!important;
}
.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. */



/* Phones: full-width readable copy, gentle side peeks in the filmstrip,
   centred control buttons, and no two-column content traps. */




/* 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. */







/* Portrait tablets and very large phones: keep artwork and supporting media
   proportional before switching to the dedicated phone layout. */



/* 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}






/* 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
}






/* 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
}





/* Large screens: eight navigation links must wrap gracefully rather than
   collide with one another or run off the right edge of the site header.
   Narrower viewports keep the existing accessible hamburger menu. */
@media (min-width:1481px){
  .site-header{height:auto!important;min-height:83px}
  .site-header .head-inner{
    height:auto!important;min-height:83px;
    padding-block:12px;gap:clamp(12px,1.5vw,25px);
  }
  .site-header .brand{flex:0 1 auto;min-width:0;max-width:34%}
  .site-header .brand-name{overflow-wrap:anywhere}
  .site-header .nav{
    display:flex!important;
    flex:1 1 0;min-width:0;max-width:100%;
    flex-wrap:wrap;justify-content:flex-end;align-content:center;
    gap:3px clamp(10px,1vw,18px);
  }
  .site-header .nav a{
    flex:0 0 auto;max-width:100%;
    white-space:nowrap;line-height:1.4;
    font-size:clamp(10px,.84vw,14px)!important;
    padding:4px 0;
  }
}
/* Keep the full note visible even when the hero uses a wide background. */
.hero .hero-footnote{
  max-width:calc(100% - 26px);
  right:clamp(12px,2vw,30px);
  text-align:right;
}

/*
 * Homepage desktop navigation: full labels in a spacious two-row link list.
 * Below 1100px the SAME nav links return to the tablet/phone hamburger menu.
 * No duplicate markup: edits to shared links propagate across devices.
 */
@media (min-width:1100px){
  body.cx-homepage .site-header{
    height:auto!important;
    min-height:0!important;
  }
  body.cx-homepage .site-header .head-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    width:min(1260px,calc(100% - 60px));
    height:auto!important;
    min-height:0!important;
    gap:9px!important;
    padding:13px 0 14px!important;
    align-items:center;
  }
  body.cx-homepage .site-header .brand{
    grid-column:1;grid-row:1;
    justify-self:start;
    width:auto;max-width:100%;
    flex-shrink:1;
  }
  body.cx-homepage .site-header .nav-toggle{
    display:none!important;
  }
  body.cx-homepage .site-header .nav,
  body.cx-homepage .site-header .nav.open{
    grid-column:1;grid-row:2;
    display:grid!important;
    position:static!important;
    width:100%!important;max-width:none!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    justify-items:stretch;align-items:stretch;
    gap:5px 12px!important;
    padding:0!important;margin:0!important;
    height:auto!important;max-height:none!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;box-shadow:none!important;
  }
  body.cx-homepage .site-header .nav a{
    display:block!important;
    flex:none!important;
    box-sizing:border-box;
    min-width:0!important;max-width:none!important;
    width:100%;
    font-size:clamp(11px,1vw,14px)!important;
    line-height:1.45!important;
    text-align:center;
    white-space:normal!important;
    overflow-wrap:break-word;
    padding:8px 10px!important;
    border-bottom:1px solid #89789b50;
  }
  body.cx-homepage .site-header .nav a:hover,
  body.cx-homepage .site-header .nav a[aria-current=page]{
    border-color:#c6b2da!important;
  }
}


/* HOME ONLY: on desktop, keep every editable nav link on its own row.
   The same link content is reused by the hamburger menu below 1100px and
   by the shared navigation on every other public page. */
@media (min-width:1100px){
  body.cx-homepage .site-header .head-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(240px,300px)!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    column-gap:clamp(20px,4vw,65px)!important;
    min-height:0!important;
    height:auto!important;
    padding-block:17px!important;
  }
  body.cx-homepage .site-header .brand{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body.cx-homepage .site-header .nav,
  body.cx-homepage .site-header .nav.open{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    max-height:none!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    position:static!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  body.cx-homepage .site-header .nav a{
    display:block!important;
    min-height:30px!important;
    width:100%!important;
    max-width:100%!important;
    padding:5px 10px!important;
    margin:0!important;
    font-size:clamp(12px,1vw,15px)!important;
    text-align:left!important;
    line-height:1.45!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    border:0!important;
    border-bottom:0!important;
    box-shadow:none!important;
    text-decoration:none!important;
    background:transparent!important;
  }
  body.cx-homepage .site-header .nav a:hover,
  body.cx-homepage .site-header .nav a[aria-current="page"]{
    border:0!important;
    border-bottom:0!important;
    box-shadow:none!important;
    text-decoration:none!important;
  }
}
/* One editable hero title and paragraph across all viewports.
   Only their presentation is shortened on tablet/phone; desktop retains the
   full copy. Text edits and shared theme choices are never duplicated. */





/* Optional, shared header content placed below the existing navigation.
   Keeping it outside .head-inner protects the logo and menu layout.
   Empty slot takes no room on the published website. */
.site-header:has(.cx-header-extras:not(:empty)){height:auto!important;min-height:83px}


.site-header .cx-header-extras:empty{display:none!important}
.site-header .cx-header-extras:not(:empty){
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  width:min(1260px,calc(100% - 60px));gap:10px 18px;
  padding:0 0 15px;min-height:40px;
}
.site-header .cx-header-extras .cx-created{
  max-width:100%;min-width:0;margin:0;
}
.site-header .cx-header-extras .cx-created-heading{
  font:500 clamp(18px,2vw,29px)/1.2 var(--serif);
}
.site-header .cx-header-extras .cx-created-paragraph{
  font:clamp(12px,1.2vw,17px)/1.4 var(--serif);
}
.site-header .cx-header-extras .cx-created-image{
  max-height:130px;max-width:min(100%,250px);width:auto;object-fit:contain;
}
.site-header .cx-header-extras .cx-created-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:6px 14px;border:1px solid #9581ae8c;
  border-radius:14px;color:#e9daf6;font-size:12px;text-decoration:none;
}


/* The editing-only outline appears even while the drop area is empty. */
html.cx-edit-preview .site-header .cx-header-extras:empty{
  display:flex!important;min-height:62px!important;
  width:min(1260px,calc(100% - 60px));
  padding:15px 12px!important;margin:0 auto 10px;
  border:2px dashed #af9bc088;border-radius:10px;
}
html.cx-edit-preview .site-header .cx-header-extras:empty::before{
  content:"Drop text, images or buttons here to add them to the shared header";
  font:12px/1.45 var(--sans);color:#cdbce2;letter-spacing:0;
}
html.cx-edit-preview .site-header.cx-drop-to-header .cx-header-extras{
  border:2px dashed #e3bcff!important;
  border-radius:10px!important;
  background:#ac91d32a!important;
  min-height:65px!important;
}

/* Single editable star ornament (distinct from the line-star-line divider).
   Text colour and font size can be overridden individually by the designer. */
.cx-created-star{
  display:inline-block;
  box-sizing:border-box;
  width:max-content;
  max-width:100%;
  color:#d7c2ef;
  font-family:Georgia,serif;
  font-size:32px;
  font-weight:400;
  line-height:1;
  text-align:center;
  vertical-align:middle;
  white-space:nowrap;
  text-decoration:none;
  margin:0;
  padding:4px;
}
.cx-created-star:empty::after{content:"✧"}


/* SHARED HEADER & FOOTER (all pages, all viewport sizes)
   The same editable DOM is used at every breakpoint. Only available space,
   font scaling and line wrapping change on smaller screens. */
body.cx-unified-chrome .site-header {
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  z-index:80;
}
body.cx-unified-chrome .site-header .head-inner {
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  width:min(var(--cx-content-width,1260px),calc(100% - 32px))!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:clamp(20px,2.3vw,31px) 0 clamp(12px,1.35vw,19px)!important;
}
body.cx-unified-chrome .site-header .nav-toggle,
body.cx-unified-chrome .site-header .nav-toggle[hidden] {
  display:none!important;
}
body.cx-unified-chrome .site-header .brand {
  display:flex!important;
  flex:0 1 auto!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  justify-self:center!important;
  gap:0!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0 auto!important;
  text-align:center!important;
}
body.cx-unified-chrome .site-header .brand > span:last-child {
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  max-width:100%;
}
body.cx-unified-chrome .site-header .brand .brand-moon {
  display:none!important;
}
body.cx-unified-chrome .site-header .brand-name {
  display:block!important;
  max-width:100%!important;
  font-size:clamp(23px,3vw,44px)!important;
  letter-spacing:clamp(.07em,.22vw,.23em)!important;
  line-height:1.13!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
body.cx-unified-chrome .site-header .brand-sub {
  display:block!important;
  max-width:100%;
  margin-top:clamp(8px,1vw,14px)!important;
  font-size:clamp(10px,1.1vw,16px)!important;
  letter-spacing:clamp(.15em,.25vw,.33em)!important;
  text-align:center!important;
  white-space:normal!important;
}
/* Fallback flourish only when the editor has not supplied its own star. */
body.cx-unified-chrome .site-header:not(:has(.cx-created-star)) .brand::after {
  content:"✧";
  display:block;
  margin-top:clamp(12px,1.2vw,19px);
  font:400 15px/1 Georgia,serif;
  color:#d8caed;
  text-align:center;
}
body.cx-unified-chrome .site-header .nav,
body.cx-unified-chrome .site-header .nav.open {
  display:flex!important;
  flex:0 1 auto!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  align-content:center!important;
  justify-content:center!important;
  align-self:stretch!important;
  justify-self:center!important;
  gap:clamp(3px,.4vw,8px) clamp(9px,1.25vw,24px)!important;
  position:static!important;
  inset:auto!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:clamp(20px,2.2vw,31px) auto 0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.cx-unified-chrome .site-header .nav a {
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  min-width:0!important;
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:5px 0!important;
  font-size:clamp(11px,1.05vw,17px)!important;
  line-height:1.4!important;
  text-align:center!important;
  white-space:nowrap!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.cx-unified-chrome .site-header .nav a:hover,
body.cx-unified-chrome .site-header .nav a[aria-current="page"] {
  border:0!important;
  box-shadow:none!important;
  text-decoration:underline;
  text-underline-offset:.3em;
}
/* One shared footer markup and all its original information on every device.
   On phones it stacks rather than hiding the central motto. */
body.cx-unified-chrome .footer .footer-inner {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  height:auto!important;
}
body.cx-unified-chrome .footer .footer-center {
  display:block!important;
}





/* Commissions page: hide only the artwork box, not the saved image or
   any independently editable page text. Keep existing designer IDs stable. */
body.cx-public-page .commission-page-section .commission-page-grid > .commission-page-image {
  display:none!important;
}
body.cx-public-page .commission-page-section .commission-page-grid > .commission-page-content {
  grid-row:1!important;
}


/* Source: designer.css */
/* Site Designer: an intentionally separate, functional editing workspace.
   Public site styling is unchanged unless explicitly published. */
.cx-designer{
  background:#202638;color:#eae2f2;
  padding:clamp(35px,5vw,72px) clamp(15px,2.6vw,45px) 90px;
  min-height:75vh
}
.cx-designer *{box-sizing:border-box}
.cx-designer [hidden]{display:none!important}
.cx-designer-heading{text-align:center;max-width:890px;margin:0 auto clamp(24px,3.8vw,42px)}
.cx-designer-heading h1{color:#f7effb;font:500 clamp(45px,5vw,72px)/1.09 var(--serif);margin:8px 0 16px}
.cx-designer-heading p:not(.eyebrow){color:#d5cadd;font:18px/1.5 var(--serif)}
.cx-help-links{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin:20px 0 0}
.cx-help-links a{color:#d4bfec;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.cx-status{margin:14px auto 24px;padding:12px 18px;max-width:1150px;background:#30384f;border:1px solid #615773;border-radius:10px;color:#e8dff3;font:13px/1.5 var(--sans)}
.cx-login-card{width:min(100%,480px);margin:28px auto 50px;padding:30px;border:1px solid #73668a;border-radius:15px;background:#2b3247}
.cx-login-card h2{font:500 33px/1.2 var(--serif);color:#f7ecff;margin:0 0 15px}
.cx-login-card p{font:16px/1.5 var(--serif);color:#cfc1dd}
.cx-login-card form{display:grid;gap:15px;margin-top:19px}
.cx-designer label{font:600 11px/1.4 var(--sans);letter-spacing:.055em;color:#d5c8e7}
.cx-designer input:not([type=checkbox]),.cx-designer select{
  display:block;width:100%;min-width:0;margin:6px 0 11px;padding:10px 12px;min-height:41px;
  border-radius:8px;border:1px solid #766987;background:#202638;
  font:13px/1.45 var(--sans);color:#f3eafc
}
.cx-designer input[type=file]{font-size:12px;white-space:normal}
.cx-designer input[type=color]{height:43px;padding:5px;cursor:pointer}
.cx-designer :is(input,select,button,[contenteditable]):focus-visible{outline:2px solid #e1c9fa;outline-offset:2px}
.cx-designer button{cursor:pointer}
.cx-designer button:disabled{opacity:.45;cursor:not-allowed}
.cx-main-toolbar{
  display:flex;align-items:end;gap:clamp(7px,1.2vw,14px);flex-wrap:wrap;
  padding:clamp(14px,1.8vw,22px);border:1px solid #716782;border-radius:13px;
  background:#2c3348;margin:0 0 19px
}
.cx-page-control{min-width:180px;flex:1 1 210px}
.cx-page-control label{display:block}
.cx-main-toolbar select{margin:4px 0 0}
.cx-preview-views{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.cx-zoom-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.cx-zoom-controls #cx-zoom-label{min-width:48px;text-align:center;
  color:#e4d4f2;font:600 12px/1.3 var(--sans);font-variant-numeric:tabular-nums}
.cx-zoom-controls .cx-outline-button{min-width:36px;min-height:36px;padding:7px 10px}
.cx-zoom-controls .cx-outline-button[hidden]{display:none!important}
.cx-zoom-controls .cx-outline-button:disabled{opacity:.4;cursor:not-allowed}

.cx-viewport-measure{padding:5px 7px;color:#d1c0e3;white-space:nowrap;
  font:600 10px/1.4 var(--sans);letter-spacing:.015em}

.cx-text-update-actions{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}
.cx-text-update-actions button{flex:1 1 120px;min-height:38px}
#cx-text-update-status{margin-top:5px}

.cx-outline-button,.cx-insert-grid button,.cx-format-buttons button,.cx-tabs button{
  border:1px solid #80718e;color:#e7dcef;background:#aea0c116;
  border-radius:999px;padding:10px 13px;min-height:36px;
  font:600 11px/1.3 var(--sans);letter-spacing:.03em;
  box-shadow:none
}
.cx-outline-button:hover,.cx-insert-grid button:hover,.cx-format-buttons button:hover,
.cx-tabs button:hover,.cx-outline-button.active,.cx-tabs button.active{
  background:#9882b23d;border-color:#b9a0d7;color:#fff9ff
}
.cx-main-toolbar #cx-unsaved{
  color:#cbb6de;font:italic 13px/1.4 var(--serif);margin:8px 3px
}
.cx-stepper{display:flex;align-items:stretch;gap:5px;width:100%;margin:5px 0 11px}
.cx-designer .cx-stepper input[type=number]{flex:1;min-width:0;width:40px!important;text-align:center;margin:0!important;min-height:38px}
.cx-designer .cx-stepper button{flex:0 0 31px;min-height:38px;padding:0;border:1px solid #80718e;border-radius:8px;background:#aea0c116;color:#e7dcef;font:600 19px/1 var(--sans)}
.cx-designer .cx-stepper button:hover{background:#9882b23d;border-color:#b9a0d7}
.cx-designer .cx-stepper input::-webkit-outer-spin-button,.cx-designer .cx-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cx-designer .cx-stepper input[type=number]{appearance:textfield;-moz-appearance:textfield}
.cx-hidden-library{display:grid;gap:9px;margin:12px 0 20px}
.cx-removed-item{display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid #75698980;border-radius:10px;padding:9px 10px;background:#22283b}
.cx-removed-item span{min-width:0;overflow-wrap:anywhere;font:12px/1.4 var(--sans);color:#dacee8}
.cx-removed-item .cx-outline-button{flex:none;min-height:32px;padding:6px 10px}
.cx-created-header,.cx-created-footer{padding:24px 18px;margin:24px auto;max-width:100%;min-height:55px;text-align:center}
.cx-created-header h2{font:500 32px/1.2 var(--serif);color:inherit}
.cx-created-footer p{font:15px/1.6 var(--serif);color:inherit}
.cx-drag-control{min-width:155px;max-width:205px;flex:1 1 155px;font:600 10px/1.3 var(--sans)}
.cx-designer .cx-drag-control select{margin:5px 0 0!important;min-height:36px!important;padding:7px 8px!important}
.cx-position-controls{border-top:1px solid #72688680;margin-top:12px;padding-top:13px}
.cx-position-controls h3{font:500 19px/1.25 var(--serif);margin:0 0 10px}
.cx-position-controls .cx-fields{margin-top:12px}
.cx-align-buttons{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.cx-align-buttons button{border:1px solid #80718e;border-radius:999px;background:#aea0c116;
  color:#e7dcef;padding:7px 13px;min-height:35px;flex:1;font:600 11px/1.2 var(--sans)}
.cx-align-buttons button[aria-pressed="true"]{background:#9784b656;border-color:#d6bdec;color:#fff}
.cx-align-buttons button:hover{background:#9882b23d}
.cx-inspector-panel[data-cx-panel=rule] .cx-inline-check{display:flex;align-items:center;gap:9px;margin:10px 0}
.cx-inspector-panel[data-cx-panel=rule] .cx-inline-check input{width:auto;min-width:auto}
.cx-inspector-panel[data-cx-panel=rule] #cx-rule-reset{margin-top:10px}
.cx-history-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cx-history-controls .cx-outline-button{min-width:72px}
.cx-history-controls .cx-outline-button:disabled{opacity:.4;border-color:#696177}
.cx-inspector-panel[data-cx-panel=divider] .cx-inline-check{display:flex;align-items:center;gap:10px;margin:12px 0}
.cx-inspector-panel[data-cx-panel=divider] .cx-inline-check input{width:auto;min-width:auto}
.cx-inspector-panel[data-cx-panel=divider] #cx-divider-reset{margin-top:12px}
.cx-main-toolbar .btn{min-height:39px!important}
.cx-editor-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,345px);
  align-items:start;gap:clamp(15px,2vw,27px)
}
.cx-preview-area{min-width:0}
.cx-preview-instructions{color:#cdbde0;text-align:center;font:italic 15px/1.45 var(--serif);margin:10px 0 17px}
.cx-viewport{
  width:100%;max-width:100%;
  min-height:770px;
  display:flex;justify-content:flex-start;
  border:1px solid #71688a;border-radius:13px;
  overflow-x:hidden;
  overflow-y:auto;
  padding:clamp(7px,1vw,16px);
  background:#151b2b
}
.cx-preview-holder{flex:0 0 auto;position:relative;width:100%;height:850px;margin-inline:auto}
.cx-preview-canvas{position:absolute;left:0;top:0;transform-origin:top left;width:100%;height:850px}
.cx-preview-canvas iframe{
  display:block;width:100%;height:850px;min-height:730px;
  background:#202638;border:0;border-radius:8px;
  box-shadow:0 8px 40px #03071470
}
.cx-below-preview{display:flex;flex-wrap:wrap;justify-content:center;gap:13px;margin:14px 0}
.cx-inspector{
  width:100%;max-height:calc(100vh - 20px);
  overflow:auto;position:sticky;top:10px;
  padding:19px;border:1px solid #706481;border-radius:13px;
  background:#2b3247;box-shadow:0 18px 38px #11172944
}
.cx-inspector h2{font:500 29px/1.2 var(--serif);margin:0 0 7px;color:#f3e8fa}
.cx-inspector h3{font:500 23px/1.25 var(--serif);margin:19px 0 13px;color:#e5d5f5}
.cx-inspector p{font:14px/1.55 var(--serif)}
.cx-inspector-top{padding-bottom:14px;border-bottom:1px solid #72688680}
.cx-inspector-top #cx-selection{color:#c9b9d9;overflow-wrap:anywhere}
.cx-inspector-top .cx-outline-button{margin-top:8px}
.cx-quick-actions{display:flex;flex-wrap:wrap;gap:7px}
.cx-quick-actions .cx-outline-button{margin-top:8px;font-size:10px;min-height:34px;padding:7px 10px}
.cx-multiselect-info{display:flex;align-items:center;flex-wrap:wrap;gap:7px;
  padding:10px 0;color:#decff0;font:12px/1.5 var(--sans)}
.cx-multiselect-info #cx-group-count{flex:1 1 155px}
.cx-multiselect-info button{font-size:10px;min-height:31px}
.cx-multiselect-info button[hidden]{display:none!important}
.cx-viewport{overscroll-behavior-x:contain}

.cx-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0;border-bottom:1px solid #72688680}
.cx-tabs button{font-size:10px;padding:8px 10px;min-height:32px}
.cx-inspector-panel{padding:10px 0 23px}
.cx-hint{color:#c9b9d9;font-size:13px!important;line-height:1.45!important}
.cx-format-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}
.cx-format-buttons button{min-width:32px;border-radius:7px;padding:8px}
#cx-rich{
  display:block;width:100%;min-height:155px;max-height:370px;overflow-y:auto;
  background:#181e2d;border:1px solid #817291;border-radius:8px;
  padding:14px;color:#fff4ff;font:17px/1.55 var(--serif);
  margin:12px 0 17px;overflow-wrap:anywhere
}
#cx-rich h1,#cx-rich h2,#cx-rich h3{font-family:var(--serif);margin:.4em 0}
#cx-rich ul,#cx-rich ol{padding-left:21px}
.cx-fields{display:grid;gap:12px}
.cx-fields-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cx-fields label{min-width:0}
.cx-inspector-panel>.btn{margin-top:17px}
.cx-insert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 22px}
.cx-insert-grid button{border-radius:8px;min-height:41px;text-align:center}
.cx-section-picker{display:flex;gap:8px;flex-wrap:wrap}
.cx-section-picker button{font-size:10px}
.cx-form{display:grid;gap:10px;margin:15px 0 22px;border:1px solid #6c6082;border-radius:10px;padding:15px;background:#222a3d}
.cx-form .btn{justify-self:start}
.cx-designer .btn,.cx-designer .btn-lavender{white-space:normal!important}
.cx-created-divider{color:#cdbbe0}
@media(max-width:1150px){
  .cx-editor-grid{grid-template-columns:minmax(0,1fr) 300px;gap:14px}
  .cx-inspector{padding:13px}
  .cx-main-toolbar{align-items:center}
}
@media(max-width:850px){
  .cx-editor-grid{grid-template-columns:minmax(0,1fr)}
  .cx-inspector{position:static;max-height:none;order:1}
  .cx-preview-area{order:2}
  .cx-viewport iframe{height:680px;min-height:610px}
  .cx-main-toolbar{gap:9px}
  .cx-inspector-panel{max-height:none}
  .cx-designer-heading h1{font-size:45px}
}
@media(max-width:500px){
  .cx-designer{padding:35px 12px 55px}
  .cx-main-toolbar{padding:11px}
  .cx-main-toolbar .cx-outline-button{font-size:10px;padding:7px 10px}
  .cx-fields-two{gap:8px}
  .cx-viewport{padding:4px;min-height:560px}
  .cx-viewport iframe{height:620px;min-height:550px}
  .cx-inspector{padding:14px}
}


/* Published visual-designer additions must render on public pages as well.
   The preview bridge applies extra selection-only outlines separately. */
.cx-hidden-by-editor{display:none!important}
.cx-created-divider{
  display:block;
  width:min(80%,700px);
  margin:clamp(35px,6vw,70px) auto;
  min-height:30px;
  color:#d0b9e9;
  font:24px/30px Georgia,serif;
  text-align:center;
  background:linear-gradient(#8b799f,#8b799f) left center / calc(50% - 25px) 1px no-repeat,
    linear-gradient(#8b799f,#8b799f) right center / calc(50% - 25px) 1px no-repeat
}
.cx-created-section{
  width:min(100%,1160px);
  margin:clamp(36px,6vw,80px) auto;
  padding:clamp(24px,4vw,55px) 22px;
  text-align:center;
  color:#f1e8f8
}
.cx-created-container{width:min(100%,1100px);margin:15px auto;padding:10px}
.cx-created-heading,.cx-created-paragraph{
  max-width:min(100%,1000px);
  text-align:center;
  margin:15px auto;
  color:#eee3f5
}
.cx-created-heading{font:500 clamp(28px,4vw,53px)/1.2 var(--serif)}
.cx-created-paragraph{font:19px/1.55 var(--serif)}
.cx-created-button{
  display:inline-flex;
  justify-content:center;align-items:center;
  padding:10px 22px;
  border:1px solid #a999c0;
  border-radius:999px;
  background:#ad90ce22;
  color:#ecddfa;
  text-decoration:none
}
.cx-created-button:hover{background:#ad90ce44}
.cx-created-image{
  display:block;
  width:auto;max-width:min(100%,950px);
  height:auto;max-height:620px;
  object-fit:contain;
  margin:24px auto
}
@media(max-width:600px){
  .cx-created-section{padding:28px 15px}
  .cx-created-divider{width:calc(100% - 40px);font-size:19px}
}

/* Allow individual customisation of original, pseudo-element dividers. */
.work-section.cx-divider-hidden::after,
.home-commissions-section.cx-divider-hidden::after,
.home-about-section.cx-divider-hidden::after,
.whispers-invite-section.cx-divider-hidden::after,
.home-featured-stack>div.cx-divider-hidden+div::before{
  display:none!important
}
.cx-inline-check{
  display:flex;align-items:center;gap:10px;
  padding:10px 0;
  font:13px/1.4 var(--sans)!important;
  text-transform:none;letter-spacing:0!important
}
.cx-inline-check input[type=checkbox]{width:18px;height:18px;accent-color:#ad92cd}

/* Batch font import and progress feedback. */
.cx-font-drop{border:1px dashed #9787ad;border-radius:10px;padding:20px 12px;text-align:center;color:#d7c6e9;background:#9e8cad10;font-size:12px;margin:12px 0}
.cx-font-drop.cx-drop-active{border-color:#e3c9ff;background:#c4ade632}
.cx-font-results{max-height:170px;overflow:auto;margin-top:8px}
.cx-font-results p{margin:4px 0!important;overflow-wrap:anywhere}
#cx-font-progress{width:100%;height:12px;accent-color:#bba0d6;margin-top:10px}

/* Zoom measures the same logical preview height on desktop, tablet and phone. */
.cx-designer .cx-preview-canvas iframe{height:850px!important;min-height:850px!important;width:100%!important}

/* Fine-grained desktop header controls in Site theme. */
.cx-designer [data-header-range]{width:100%;max-width:100%;display:block;margin:9px 0 6px;accent-color:#bca4d8;cursor:pointer}
.cx-designer [data-header-range]:focus-visible{outline:2px solid #d7bdf1;outline-offset:3px}

/* Per-element text leading editor. The slider is deliberately a true range
   control, rather than an oversized text-field-shaped track. */
.cx-leading-controls{
  display:grid;grid-template-columns:minmax(0,1fr) 88px;
  align-items:center;gap:12px;margin:5px 0 12px;
}
.cx-designer #cx-text-leading{
  display:block;width:100%;min-width:0;min-height:26px;
  height:26px;margin:0;padding:0!important;
  border:0!important;background:transparent!important;
  accent-color:#c9ace5;cursor:pointer;
}
.cx-designer #cx-leading-value{
  width:88px;min-width:0;margin:0;
  text-align:center;font-variant-numeric:tabular-nums;
}
.cx-leading-presets{margin:6px 0 16px;gap:6px}
.cx-leading-presets button{min-width:70px}

/* Tablet and phone are viewers, not alternate editors. */
.cx-designer .cx-inspector[hidden]{display:none!important}
.cx-designer.cx-readonly-mode .cx-editor-grid{grid-template-columns:minmax(0,1fr)!important}
.cx-designer.cx-readonly-mode :is(.cx-drag-control,.cx-history-controls,.cx-below-preview){display:none!important}
.cx-designer.cx-readonly-mode .cx-preview-instructions{opacity:.85}

/* Visual social icon library and per-icon link editor in Elements. */
.cx-social-preset-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:13px 0 18px;
}
.cx-social-preset-grid button{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:52px;
  padding:7px 10px;
  border:1px solid #736a8a;
  border-radius:10px;
  background:#292f43;
  color:#f2e7f6;
  cursor:pointer;
  font:600 11px/1.35 var(--sans);
  text-align:left;
}
.cx-social-preset-grid button:hover,
.cx-social-preset-grid button:focus-visible{background:#3a405a;border-color:#b5a2d5}
.cx-social-preset-grid img{
  width:29px;
  height:29px;
  object-fit:contain;
  flex:0 0 auto;
}
.cx-social-settings{
  margin:0 0 21px;
  border:1px solid #756a8c;
  border-radius:10px;
  padding:13px;
  background:#22293c;
}
.cx-social-settings[hidden]{display:none!important}
.cx-social-settings button{margin-top:10px}


/* Source: fluid-layout.css */
/*
 * Fluid, content-first responsive layout.
 * At narrower widths editorial blocks are sized by their available space,
 * rather than treating an entire phone as a scaled-down desktop screenshot.
 * This sheet comes after the earlier styles to resolve their conflicts.
 * Desktop saved editor typography/position values remain unchanged.
 */

/* Shared Connect footer. This is appended after the original children in
   markup so that prior Site Designer element IDs stay stable. */
body.cx-unified-chrome .footer {
  display:block!important;
  height:auto!important;
  min-height:0!important;
  padding:clamp(40px,5vw,72px) 0 clamp(26px,3vw,42px)!important;
}
body.cx-unified-chrome .footer .footer-inner {
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(1100px,calc(100% - 36px))!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  gap:clamp(16px,2vw,28px)!important;
  margin-inline:auto!important;
  text-align:center!important;
}
body.cx-unified-chrome .footer .footer-connect {
  order:-1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  margin:0 auto clamp(16px,2vw,30px);
  padding:0 0 clamp(26px,3vw,42px);
  border-bottom:1px solid rgba(178,162,200,.2);
  text-align:center;
}
body.cx-unified-chrome .footer-connect .footer-connect-eyebrow {
  margin:0 0 8px;
  font:600 clamp(10px,.85vw,13px)/1.4 var(--sans);
  letter-spacing:.17em;
  color:#c7b3de!important;
  text-transform:uppercase;
}
body.cx-unified-chrome .footer-connect .footer-connect-title {
  margin:0;
  max-width:100%;
  font:400 clamp(32px,4vw,58px)/1.13 var(--serif);
  letter-spacing:.045em;
  color:#f1e6f5;
  text-transform:uppercase;
  overflow-wrap:break-word;
}
body.cx-unified-chrome .footer-connect .footer-connect-description {
  margin:clamp(12px,1.5vw,19px) 0 0;
  font:400 clamp(16px,1.75vw,21px)/1.5 var(--serif);
  color:#e2d8ea;
  max-width:720px;
  overflow-wrap:break-word;
}
body.cx-unified-chrome .footer-connect .footer-connect-socials {
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  justify-items:center;
  align-items:start;
  justify-content:center;
  width:min(100%,680px);
  max-width:100%;
  gap:clamp(12px,2vw,24px);
  margin:clamp(21px,3vw,35px) auto 0!important;
}
body.cx-unified-chrome .footer-connect .footer-connect-socials .connect-social-link {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  max-width:105px!important;
  min-width:0!important;
  padding:0!important;
  font-family:var(--sans);
  font-size:clamp(10px,1vw,12px)!important;
  letter-spacing:.03em!important;
  color:#e7deee!important;
  text-decoration:none;
}
body.cx-unified-chrome .footer-connect .footer-connect-socials .social-icon {
  display:grid!important;
  place-items:center!important;
  width:clamp(43px,5.2vw,60px)!important;
  height:clamp(43px,5.2vw,60px)!important;
  min-width:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.cx-unified-chrome .footer-connect .footer-connect-socials .social-icon img {
  width:clamp(27px,3.4vw,41px)!important;
  height:clamp(27px,3.4vw,41px)!important;
  max-width:100%!important;
  object-fit:contain!important;
}
body.cx-unified-chrome .footer-connect .footer-connect-socials .social-label {
  display:block!important;
  font:600 clamp(10px,.85vw,12px)/1.35 var(--sans)!important;
  text-align:center!important;
  text-transform:uppercase;
  overflow-wrap:break-word;
}
body.cx-unified-chrome .footer .footer-brand,
body.cx-unified-chrome .footer .footer-center,
body.cx-unified-chrome .footer .footer-inner > small {
  position:relative;
  min-width:0!important;
  max-width:100%!important;
  margin:0 auto!important;
  text-align:center!important;
}
body.cx-unified-chrome .footer .footer-brand {
  order:0;
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center!important;
  align-items:center!important;
  gap:clamp(8px,2vw,16px);
  font-size:clamp(15px,2vw,24px);
  line-height:1.3;
  overflow-wrap:anywhere;
}
body.cx-unified-chrome .footer .footer-center {
  order:1;
  display:block!important;
  max-width:min(100%,760px)!important;
  font-size:clamp(11px,1.35vw,16px)!important;
  line-height:1.65!important;
  white-space:normal!important;
  overflow-wrap:break-word;
}
body.cx-unified-chrome .footer .footer-inner > small {
  order:2;
  display:block!important;
  font-size:clamp(11px,1.15vw,14px)!important;
  line-height:1.6!important;
  white-space:normal!important;
}
body.cx-unified-chrome .footer .studio-footer-link {
  display:inline-block!important;
  position:static!important;
  max-width:100%;
  margin:0 0 0 .75em!important;
  vertical-align:baseline;
  white-space:normal;
  font-size:inherit!important;
  font-weight:500;
  text-decoration:underline;
  text-underline-offset:.17em;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Any unbounded media naturally shrinks within its own section. */
body.cx-public-page main :is(img,svg,video,canvas,picture,iframe) {
  max-inline-size:100%;
}
body.cx-public-page main :is(.shell,.home-featured-stack,.home-section-grid,.writing-info,
  .writing-grid,.art-archive-grid,.detail-copy,.commission-page-grid,
  .home-about-grid,.whispers-layout,.whispers-gallery) {
  min-inline-size:0;
}
body.cx-public-page main :is(.writing-card,.art-archive-row,.gallery-grid .art-card) {
  box-sizing:border-box;
  max-inline-size:100%;
}

/* Tablet and phone: no saved desktop offsets, fixed-width media traps,
   clamped hero text or text escaping the borders of featured cards. */







/* The written works homepage showcase uses the exact same collection as /writing/.
 * The viewer changes which cards are visible, not a separate featured list. */
.work-section .home-featured-writing .writing-card[hidden]{display:none!important}
.work-section .home-writing-controls{
  display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,26px);
  margin:clamp(14px,2.5vw,22px) auto 0;color:var(--ink,#eee);
  font:500 12px/1.4 var(--sans,Arial,sans-serif);letter-spacing:.08em
}
.work-section .home-writing-controls[hidden]{display:none!important}
.work-section .home-writing-controls button{
  display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;
  border:1px solid rgba(160,142,190,.5);border-radius:50%;color:inherit;
  background:transparent;cursor:pointer;font:400 28px/1 Georgia,serif
}
.work-section .home-writing-controls button:hover,
.work-section .home-writing-controls button:focus-visible{
  background:rgba(153,129,185,.14);outline-offset:3px
}
.work-section .home-writing-counter{min-width:85px;text-align:center}


/* Source: hero-footer.css */
/*
 * Hero and shared footer, responsive without clipping or device-specific
 * duplicate content. Uses one DOM across desktop, tablet and phone.
 */

/* The branding remains in the footer's top-left. The only Connect copy
 * visible is the heading, with the social links at the very bottom. */
body.cx-unified-chrome .footer {
  position:relative!important;
  padding-bottom:clamp(83px,8vw,110px)!important;
}
body.cx-unified-chrome .footer .footer-inner {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
  max-width:100%!important;
  gap:clamp(15px,2vw,24px)!important;
}
body.cx-unified-chrome .footer .footer-brand {
  order:0!important;
  display:inline-flex!important;
  align-self:flex-start!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  max-width:100%!important;
  margin:0!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
body.cx-unified-chrome .footer .footer-center {
  order:1!important;
  align-self:flex-start!important;
  text-align:left!important;
  max-width:100%!important;
  margin:0!important;
}
body.cx-unified-chrome .footer .footer-inner > small {
  order:2!important;
  position:static!important;
  align-self:flex-start!important;
  margin:0!important;
  max-width:100%!important;
  text-align:left!important;
}
body.cx-unified-chrome .footer .footer-connect {
  order:3!important;
  align-self:stretch!important;
  margin:clamp(18px,3vw,34px) 0 0!important;
  padding:clamp(24px,3vw,36px) 0 0!important;
  width:100%!important;
  max-width:100%!important;
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  text-align:center!important;
}
body.cx-unified-chrome .footer .footer-connect :is(
  .footer-connect-eyebrow,.footer-connect-description
) {
  display:none!important;
}
body.cx-unified-chrome .footer .footer-connect-title {
  font-size:clamp(31px,3.6vw,52px)!important;
  line-height:1.14!important;
  margin:0!important;
  overflow-wrap:break-word!important;
}
/* The social links are always one horizontal row. Each column takes the
 * same share of the width, and the entire row may be aligned by the designer.
 * A phone does not have to squeeze five full-sized desktop icons into place. */
body.cx-unified-chrome .footer .footer-connect-socials {
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-template-rows:auto!important;
  align-items:start!important;
  align-content:start!important;
  justify-items:center!important;
  justify-content:space-evenly!important;
  width:min(100%,900px)!important;
  max-width:100%!important;
  margin:clamp(18px,3vw,30px) auto 0!important;
  padding:0!important;
  gap:clamp(3px,1.4vw,20px)!important;
}
body.cx-unified-chrome .footer .footer-connect-socials .connect-social-link {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-direction:column!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  padding:0!important;
  gap:clamp(4px,.9vw,9px)!important;
}
body.cx-unified-chrome .footer .footer-connect-socials .social-icon {
  width:clamp(30px,5vw,59px)!important;
  height:clamp(30px,5vw,59px)!important;
  flex:0 0 auto!important;
}
body.cx-unified-chrome .footer .footer-connect-socials .social-icon img {
  display:block!important;
  width:clamp(22px,3.5vw,41px)!important;
  height:clamp(22px,3.5vw,41px)!important;
  object-fit:contain!important;
}
body.cx-unified-chrome .footer .footer-connect-socials .social-label {
  display:block!important;
  max-width:100%!important;
  font-size:clamp(9px,.95vw,12px)!important;
  line-height:1.25!important;
  letter-spacing:.02em!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
/* Administrator access remains in its original DOM position so existing
 * saved Designer IDs survive. Centre the actual button rather than its text. */
body.cx-unified-chrome .footer .studio-footer-link {
  position:absolute!important;
  inset:auto auto clamp(14px,2vw,26px) 50%!important;
  transform:translateX(-50%)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:calc(100% - 30px)!important;
  min-height:35px!important;
  margin:0!important;
  padding:7px 13px!important;
  color:#cfc2df!important;
  background:transparent!important;
  border:1px solid rgba(194,176,215,.3)!important;
  border-radius:999px!important;
  box-shadow:none!important;
  font:500 clamp(10px,.95vw,12px)/1.35 var(--sans)!important;
  letter-spacing:.04em!important;
  text-transform:lowercase!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  opacity:.8;
  z-index:4!important;
}
body.cx-unified-chrome .footer .studio-footer-link:hover,
body.cx-unified-chrome .footer .studio-footer-link:focus-visible {
  background:rgba(185,163,213,.12)!important;
  color:#fff4ff!important;
  opacity:1;
}
/* Fluid desktop heading. The saved desktop maximum is respected. */
body.cx-homepage.cx-public-page main .hero .hero-title {
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  font-size:clamp(32px,5.7vw,var(--cx-hero-title,76px))!important;
  line-height:1.11!important;
  overflow:visible!important;
  white-space:normal!important;
}
body.cx-homepage.cx-public-page main .hero .hero-title-main,
body.cx-homepage.cx-public-page main .hero .hero-title-sub {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:inherit!important;
  line-height:inherit!important;
}
body.cx-homepage.cx-public-page main .hero .hero-copy {
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
body.cx-homepage.cx-public-page main .hero .hero-background,
body.cx-homepage.cx-public-page main .hero .hero-bg-img {
  max-width:100%!important;
}
body.cx-homepage.cx-public-page main .hero .hero-bg-img {
  object-fit:contain!important;
  object-position:right center!important;
}


/* The artwork stays behind the quote on every screen. Its right edge is
 * anchored so the butterfly remains on the right as the viewport changes. */






/*
 * Mobile/tablet content parity: the same hero captions and written summaries
 * remain readable instead of silently disappearing at narrow breakpoints.
 * Desktop styles are intentionally not changed.
 */





/* Permanent admin position: a separate direct child of the footer.
 * The copyright no longer establishes a containing block for this link,
 * and old saved designer positions target the now-removed nested link. */
body.cx-unified-chrome footer.footer{
  position:relative!important;
}
body.cx-unified-chrome footer.footer > .footer-admin-anchor{
  position:absolute!important;
  inset:auto 0 clamp(45px,4vw,60px)!important;
  box-sizing:border-box!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  translate:none!important;
  pointer-events:none;
  z-index:50!important;
}
body.cx-unified-chrome footer.footer > .footer-admin-anchor > .studio-footer-link{
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  translate:none!important;
  margin:0!important;
  float:none!important;
  flex:0 0 auto!important;
  max-width:calc(100% - 32px)!important;
  pointer-events:auto!important;
}



/*
 * Single-source responsive safeguards.
 * Desktop stays authored exactly as before; below desktop width, content may
 * reflow but cannot force the viewport wider or stretch natural-ratio images.
 * Applies to the public pages and the identical shared header/footer on admin.
 */





/* Individually placeable social links from Site Designer's Elements panel.
 * These are independent of the existing footer socials row. */
body.cx-unified-chrome .cx-created-social{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  width:3.25em!important;
  height:3.25em!important;
  min-width:30px;
  min-height:30px;
  max-width:100%;
  padding:0!important;
  border:1px solid rgba(194,176,215,.22);
  border-radius:12px;
  background:rgba(170,154,198,.08);
  font-size:16px;
  line-height:1;
  color:#eee4f4;
  text-decoration:none!important;
  vertical-align:middle;
  overflow:visible!important;
  cursor:pointer;
  transition:background .18s,border-color .18s;
}
body.cx-unified-chrome .cx-created-social:hover,
body.cx-unified-chrome .cx-created-social:focus-visible{
  background:rgba(170,154,198,.2);
  border-color:rgba(194,176,215,.75);
}
body.cx-unified-chrome .cx-created-social > .cx-social-img{
  display:block!important;
  width:65%!important;
  height:65%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  pointer-events:none;
}

/* Footer socials: fixed centre anchor independent of legacy saved offsets. */
body.cx-unified-chrome footer.footer .footer-connect{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
}
body.cx-unified-chrome footer.footer .footer-connect > .footer-connect-socials{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  justify-content:center!important;
  justify-items:center!important;
  align-content:start!important;
  align-items:start!important;
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  translate:none!important;
  rotate:none!important;
  float:none!important;
  align-self:center!important;
  justify-self:center!important;
  box-sizing:border-box!important;
  width:min(700px,100%)!important;
  max-width:100%!important;
  min-width:0!important;
  margin:clamp(18px,3vw,30px) auto 0!important;
}
body.cx-unified-chrome footer.footer .footer-connect > .footer-connect-socials > .connect-social-link{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  translate:none!important;
  float:none!important;
  justify-self:center!important;
}



/* Reuse and centre manually added footer icons; never clone the links. */
body.cx-unified-chrome footer.footer .footer-connect,
body.cx-unified-chrome footer.footer .footer-connect > .footer-connect-title{
  position:static!important;
  inset:auto!important;
  translate:none!important;
  transform:none!important;
}
body.cx-unified-chrome footer.footer .footer-connect > .footer-connect-socials[data-cx-superseded="true"]{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}
body.cx-unified-chrome .cx-duplicate-connect-heading{
  display:none!important;
}
body.cx-unified-chrome footer.footer .footer-connect > .cx-centred-custom-socials{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:center!important;
  justify-content:center!important;
  justify-items:center!important;
  box-sizing:border-box!important;
  position:static!important;
  width:min(620px,100%)!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin:clamp(18px,3vw,30px) auto 0!important;
  padding:0!important;
  gap:clamp(4px,1.2vw,16px)!important;
  inset:auto!important;
  translate:none!important;
  transform:none!important;
}
body.cx-unified-chrome footer.footer .cx-centred-custom-socials > .cx-created-social{
  position:static!important;
  width:clamp(34px,4.4vw,54px)!important;
  height:clamp(34px,4.4vw,54px)!important;
  margin:0!important;
  padding:0!important;
  inset:auto!important;
  transform:none!important;
  translate:none!important;
  rotate:none!important;
  justify-self:center!important;
  flex:0 0 auto!important;
}



/* Compact shared-footer spacing defaults, without moving existing links.
 * Site Designer uses inline styles for its independently editable spacing,
 * so published footer settings still take precedence over these defaults. */
body.cx-unified-chrome footer.footer{
  padding-top:clamp(18px,2.5vw,33px)!important;
  padding-bottom:clamp(61px,5vw,70px)!important;
}
body.cx-unified-chrome footer.footer .footer-inner{
  min-height:0!important;
  gap:clamp(7px,1vw,12px)!important;
}
body.cx-unified-chrome footer.footer .footer-connect{
  margin-top:clamp(6px,1vw,11px)!important;
  padding-top:clamp(7px,1vw,13px)!important;
}
body.cx-unified-chrome footer.footer .footer-connect > .cx-centred-custom-socials,
body.cx-unified-chrome footer.footer .footer-connect > .footer-connect-socials{
  margin-top:clamp(7px,1.3vw,15px)!important;
}

/* Actual cause of the tall custom-icon footer: the older wordmark,
   motto and copyright still occupied flex rows even when only Contact
   and the custom icon tray were intended to be visible. Retain all
   original markup and its editor IDs, but make only the chosen visible
   content take up height. Copyright and login keep their own bottom row. */
body.cx-unified-chrome footer.footer.cx-has-custom-socials > .footer-inner > .footer-brand,
body.cx-unified-chrome footer.footer.cx-has-custom-socials > .footer-inner > .footer-center{
  display:none!important;
}
body.cx-unified-chrome footer.footer.cx-has-custom-socials > .footer-inner{
  position:static!important;
  min-height:0!important;
  height:auto!important;
  gap:0!important;
}
/* Real shared-footer content order, with NO absolute copyright overlay:
   1. Connect heading + socials; 2. login; 3. copyright.
   Original editor-controlled nodes and text are retained. */
body.cx-unified-chrome footer.footer.cx-has-custom-socials{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  height:auto!important;
  min-height:0!important;
}
body.cx-unified-chrome footer.footer.cx-has-custom-socials > .footer-inner{
  order:0!important;
  flex:0 0 auto!important;
  align-self:center!important;
  max-width:100%!important;
}
body.cx-unified-chrome footer.footer.cx-has-custom-socials > .footer-admin-anchor{
  position:static!important;
  inset:auto!important;
  order:1!important;
  flex:0 0 auto!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  align-self:center!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:clamp(15px,2.5vw,24px) auto 0!important;
  padding:0 clamp(12px,3vw,30px)!important;
  translate:none!important;
  transform:none!important;
}
body.cx-unified-chrome footer.footer.cx-has-custom-socials > .cx-footer-copyright{
  position:static!important;
  inset:auto!important;
  order:2!important;
  flex:0 0 auto!important;
  display:block!important;
  align-self:center!important;
  color:#d3cadd!important;
  opacity:1!important;
  width:100%!important;
  max-width:100%!important;
  margin:clamp(8px,1.4vw,13px) auto 0!important;
  padding:0 14px!important;
  text-align:center!important;
  font-size:clamp(10px,1.15vw,13px)!important;
  line-height:1.4!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  translate:none!important;
  transform:none!important;
  rotate:none!important;
  z-index:auto!important;
}
/* Footer resize handle belongs to the editor only and never takes
   part in the flow or changes the public footer height. */

/* Final footer content order: contact heading, then the user's own icons. */
body.cx-unified-chrome footer.footer.cx-has-custom-socials .footer-connect{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
body.cx-unified-chrome footer.footer.cx-has-custom-socials .footer-connect > .footer-connect-title{
  order:0!important;
  display:block!important;
  align-self:center!important;
  margin:0!important;
}
body.cx-unified-chrome footer.footer.cx-has-custom-socials .footer-connect > .cx-centred-custom-socials{
  order:1!important;
  align-self:center!important;
  margin:clamp(12px,1.7vw,20px) auto 0!important;
}

/* The editable social tray exists on every page for stable element IDs.
   Without custom icons it must not create a phantom blank footer row. */
body.cx-unified-chrome footer.footer .footer-connect > .cx-centred-custom-socials[data-cx-empty="true"]{
  display:none!important;
  margin:0!important;
  padding:0!important;
}

/* Empty authored footer placeholders must not inflate the finished footer. */
body.cx-unified-chrome footer.footer
  :is(.cx-created-section,.cx-created-container,.cx-created-footer):empty{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
html.cx-edit-preview body.cx-unified-chrome footer.footer
  :is(.cx-created-section,.cx-created-container,.cx-created-footer):empty{
  display:block!important;
  box-sizing:border-box!important;
  height:26px!important;
  min-height:26px!important;
  max-height:26px!important;
  margin:6px auto!important;
  padding:0!important;
  border:1px dashed rgba(194,176,215,.45)!important;
}


/* Existing copyright/login and custom icons stay exactly where they are.
   Retire designer-created empty nested footer blocks, including in preview:
   unlike :empty, this also handles blocks with empty wrapper elements. */
body.cx-unified-chrome footer.footer :is(
  .cx-created-section,.cx-created-container,.cx-created-footer
).cx-vacant-footer-block{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* Tablet and phone use the same centred hero decoration; the saved desktop
   position remains untouched on screens wider than 1099px. */




/* Source: responsive-system.css */
/* Site-wide appearance defaults generated from desktop master variables.
 * The original theme.css declares --cx-* tokens; only presentation shifts
 * for smaller viewports live here. */
@media(max-width:1120px){
 .site-header{height:74px}
 .nav-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;background:transparent;border:1px solid #aeb0c066;border-radius:4px;height:40px;width:43px;cursor:pointer;padding:10px}
 .nav-toggle span{background:#e9e2f2;height:2px;width:100%}
 .nav{display:none;position:absolute;top:74px;left:0;right:0;background:#141e30;flex-direction:column;align-items:stretch;padding:18px 30px 24px;box-shadow:0 15px 24px #1118;gap:0}
 .nav.open{display:flex}
 .nav a{font-size:var(--cx-nav);padding:10px 0}
 .shell{width:min(var(--cx-content-width),calc(100% - 52px))}
}
@media(max-width:570px){
 .shell{width:calc(100% - 34px)}
 .hero h1{font-size:clamp(42px,11vw,var(--cx-hero-title));line-height:1.03}
 .page-banner h1{font-size:clamp(42px,11vw,var(--cx-page-title))}
 .section-intro h2,.connect-section h2{font-size:clamp(30px,8vw,var(--cx-section-title))}
 .writing-info h3{font-size:clamp(21px,6vw,var(--cx-story-title))}
 .hero,.hero-shell{min-height:max(565px,var(--cx-hero-height))}
 .gallery-grid .art-open{height:min(var(--cx-gallery-tile),450px)}
}

/* =======================================================================
 * CENTRALISED LEGACY BREAKPOINTS 2026-10-26
 * One responsive stylesheet owns every legacy public-site max-width <=1099px.
 * Extracted from older component CSS in original stylesheet order.
 * DESKTOP STYLES STAY IN THEIR ORIGINAL FILES AND ARE NOT MODIFIED.
 * The following baseline rules are superseded, where necessary, by the
 * canonical adaptive rules further down in this same file.
 * ======================================================================= */

/* Previously in Website/src/styles.css */
@media(max-width:1070px){.shell{width:min(100% - 52px,1260px)}.brand-name{font-size:25px}.brand-sub{font-size:7px}.nav{gap:11px}.nav a{font-size:8px}.work-columns{gap:20px}.writing-card{gap:12px}.about-pair{gap:15px}.about-pair-copy p{font-size:15px}}

@media(max-width:830px){.site-header{height:74px}.nav-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;background:transparent;border:1px solid #aeb0c066;border-radius:4px;height:40px;width:43px;cursor:pointer;padding:10px}.nav-toggle span{background:#e9e2f2;height:2px;width:100%}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#141e30;flex-direction:column;align-items:stretch;padding:18px 30px 24px;box-shadow:0 15px 24px #1118;gap:0}.nav.open{display:flex}.nav a{font-size:12px;padding:10px 0}.hero,.hero-shell{min-height:530px}.hero:before{background:linear-gradient(90deg,#121929f7 0%,#192033d7 43%,#171f2a65 100%)}.hero-copy{max-width:480px}.work-columns,.dual-grid,.connect-grid,.commission-page-grid{grid-template-columns:1fr}.work-columns{gap:40px}.art-feature-grid{height:430px}.dual-panel:nth-child(2){border:0;border-top:1px solid #aab1c333;padding:25px 0 0}.about-pair{grid-template-columns:32% 1fr}.connect-grid{gap:25px}.writing-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr;gap:30px}.detail-image{max-height:350px}.about-page-grid{gap:40px;grid-template-columns:35% 1fr}.footer-center{display:none}}

@media(max-width:570px){.shell{width:calc(100% - 34px)}.brand-name{font-size:25px}.brand-moon{font-size:46px}.brand-sub{letter-spacing:.21em}.hero,.hero-shell{min-height:565px}.hero-bg-img{object-position:64% center}.hero:before{background:linear-gradient(90deg,#111a2bfa 0%,#141d30e7 55%,#1b22369b 100%)}.hero-copy{padding:45px 0 80px}.hero h1{font-size:57px;margin-top:21px}.hero-overline{font-size:9px}.hero-kicker{font-size:10px}.hero-desc{max-width:340px;font-size:12px}.hero-actions{gap:8px}.btn{font-size:9px;padding:10px 13px;gap:7px}.hero-footnote{font-size:7px}.work-section{padding:35px 0}.section-intro h2{font-size:36px}.section-intro p{font-size:9px}.work-columns{gap:30px}.writing-card{grid-template-columns:38% 1fr;gap:10px;min-height:182px}.writing-thumb{min-height:172px}.writing-info{padding:3px 3px 3px 0}.writing-info h3{font-size:22px}.writing-info p:not(.eyebrow){font-size:13px;margin-bottom:7px}.writing-info .eyebrow{font-size:7px}.text-link{font-size:8px}.art-feature-grid{height:330px;gap:7px}.section-heading h3,.section-heading h2{font-size:20px}.about-and-commissions{padding:30px 0}.about-pair{grid-template-columns:40% 1fr;gap:12px}.about-portrait{height:247px}.about-pair-copy h3{font-size:24px;margin:4px 0 9px}.about-pair-copy p{font-size:14px;margin-bottom:9px}.about-pair-copy p:nth-of-type(2){display:none}.comm-img{height:150px}.connect-section{padding:30px 0}.connect-section h2{font-size:29px}.social-row{gap:5px}.social-link{width:74px}.whispers-card{padding:22px}.footer-inner{min-height:112px}.footer-inner>small{max-width:120px;text-align:right;font-size:8px}.page-banner-inner{padding:63px 0 72px}.page-banner h1{font-size:56px}.page-banner p:last-child{font-size:17px}.collection-section,.text-section{padding:48px 0 70px}.collection-heading{align-items:flex-start;gap:12px}.collection-heading h2{font-size:27px}.collection-heading span{font-size:9px;text-align:right}.writing-grid,.gallery-grid{grid-template-columns:1fr}.gallery-grid .art-open{height:360px}.detail-top{padding:37px 0 70px}.detail-copy h1{font-size:50px}.detail-copy .back-link{margin-bottom:22px}.about-page-grid{grid-template-columns:1fr;gap:30px}.about-photo-large{height:390px;max-width:360px;margin:auto;width:100%}.commission-page-grid{grid-template-columns:1fr;gap:30px}.commission-page-image{height:240px}.text-section h2{font-size:42px}.text-section p:not(.eyebrow){font-size:20px}}

@media(max-width:650px){
  .writing-grid .writing-card,.art-archive-row{
    grid-template-columns:minmax(100px,36%) minmax(0,1fr);
    gap:14px;
    padding:10px
  }
  .writing-grid .writing-info,.art-archive-info{padding:5px 3px 7px 0}
  .writing-grid .writing-info h3,.art-archive-info h3{
    font-size:clamp(22px,5.7vw,30px);
    line-height:1.12;
    margin:5px 0 9px
  }
  .writing-grid .card-summary,.art-archive-description{font-size:16px;line-height:1.35}
  .writing-grid .writing-info .text-link,.art-archive-view{font-size:11px}
  .writing-grid .writing-info .eyebrow,.art-archive-info .eyebrow{font-size:10px;line-height:1.4}
}

@media(max-width:820px){
  .work-section .art-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:600px){
  .work-section .writing-list .writing-card{
    grid-template-columns:150px minmax(0,1fr);
    gap:15px;
    padding:12px
  }
  .work-section .writing-list .writing-info{padding:4px 2px 4px 0}
  .work-section .writing-list .writing-info h3{font-size:clamp(24px,5.3vw,33px)}
  .work-section .writing-list .writing-info .card-summary{font-size:16px;line-height:1.38}
  .work-section .writing-list .writing-info .eyebrow{font-size:10px}
}

@media(max-width:480px){
  .work-section .writing-list .writing-card{grid-template-columns:minmax(0,1fr)}
  .work-section .writing-list .writing-thumb{width:min(100%,235px)}
  .work-section .writing-list .writing-info{padding:6px}
  .work-section .art-feature-grid{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:960px){
  .hero .hero-title{font-size:clamp(48px,7.2vw,var(--cx-hero-title))}
}

@media(max-width:740px){
  .hero .hero-title{font-size:clamp(43px,9.5vw,70px);line-height:1.03}
  .hero .hero-title-main,.hero .hero-title-sub{white-space:normal}
}

@media(max-width:450px){
  .hero .hero-title{font-size:clamp(39px,10vw,54px)}
}

@media(max-width:680px){
  .commission-platform-grid{grid-template-columns:minmax(0,1fr)}
  .commission-platform-card{padding:24px}
}

@media(max-width:800px){
  .hero .hero-title{font-size:clamp(42px,7vw,65px)!important}
  .hero .hero-title-main,.hero .hero-title-sub{white-space:normal!important}
}

@media(max-width:650px){
  .work-section .home-featured-writing .writing-card{
    grid-template-columns:clamp(110px,32vw,170px) minmax(0,1fr)!important;
    gap:14px!important
  }
  .work-section .home-featured-writing .writing-info h3{font-size:clamp(22px,5.2vw,31px)!important}
  .work-section .home-featured-mosaic{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:none!important
  }
  .work-section .home-featured-mosaic .feature-art-1,
  .work-section .home-featured-mosaic .feature-art-2,
  .work-section .home-featured-mosaic .feature-art-3{
    grid-column:1!important;
    grid-row:auto!important;
    aspect-ratio:auto!important
  }
}

@media(max-width:420px){
  .work-section .home-featured-writing .writing-card{grid-template-columns:minmax(0,1fr)!important}
  .work-section .home-featured-writing .writing-thumb{width:min(100%,210px)!important}
}

@media(max-width:950px){
  .commission-inline-grid{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:650px){
  .lightbox{
    width:96vw;
    max-width:96vw;
    height:88dvh;
    padding:14px
  }
  .lightbox img{max-height:calc(88dvh - 85px)}
}

@media(max-width:650px){
  .whispers-invite-section{padding:40px 0}
  .whispers-invite-section .whispers-card-centered{padding:30px 18px}
}

@media(max-width:470px){
  .social-row{gap:10px}
  .social-row .social-link{width:75px;font-size:10px}
  .social-row .social-icon{width:61px;height:59px;font-size:29px}
}

@media(max-width:650px){
  .whispers-invite-section{padding:46px 0}
  .whispers-invite-section .whispers-card-centered{
    padding:38px 20px
  }
  .connect-section{padding:53px 0 66px}
}

@media(max-width:470px){
  .connect-section .social-row{gap:12px}
  .connect-section .social-row .social-link{width:77px;font-size:10px}
  .connect-section .social-row .social-icon{
    width:65px;height:65px;font-size:33px
  }
}

@media(max-width:600px){
  .connect-section .connect-social-row{gap:10px}
  .connect-section .connect-social-row .connect-social-link{
    width:78px;
    min-width:70px
  }
  .connect-section .connect-social-row .social-icon{width:65px;height:65px}
  .connect-section .connect-social-row .social-icon img{width:33px;height:33px}
  .connect-section .connect-social-row .social-label{
    font-size:10px;
    letter-spacing:.025em
  }
}

@media(max-width:850px){
  .home-section-grid{
    grid-template-columns:minmax(0,1fr);
    gap:32px
  }
  .home-commission-media{grid-row:2;justify-self:center}
  .home-about-media{width:min(100%,340px)}
  .home-commissions-section,
  .home-about-section{padding:52px 0}
}

@media(max-width:550px){
  .home-commissions-section h2,.home-about-section h2{font-size:34px}
  .home-about-media{width:min(100%,290px)}
}

@media(max-width:750px){
  .work-section .section-heading{padding:14px 17px}
  .home-section-grid{padding:20px}
  .connect-section .connect-content{padding:24px 14px}
  .page-banner .page-banner-inner{width:calc(100% - 26px)}
}

@media(max-width:690px){
  .home-filmstrip .filmstrip-stage{
    grid-template-columns:minmax(0,1fr);
    min-height:320px
  }
  .home-filmstrip .filmstrip-slide{height:min(65vw,390px)}
  .home-filmstrip .filmstrip-slide.is-center{grid-column:1}
  .home-filmstrip .filmstrip-slide.is-prev,
  .home-filmstrip .filmstrip-slide.is-next{display:none}
  .home-filmstrip .filmstrip-controls{margin-top:12px}
  .home-filmstrip .filmstrip-label{font-size:16px}
}

@media(max-width:720px){
  .home-filmstrip .filmstrip-stage{height:clamp(260px,75vw,410px);min-height:260px!important}
  .home-filmstrip .filmstrip-slide{height:clamp(210px,70vw,365px)!important}
  .home-filmstrip .filmstrip-slide.is-center{
    width:min(76%,340px)!important;
    left:50%
  }
  .home-filmstrip .filmstrip-slide.is-prev,
  .home-filmstrip .filmstrip-slide.is-next{display:none!important}
}

@media(max-width:600px){.studio-page{padding:35px 0 65px}.studio-media-card{grid-template-columns:1fr}.studio-thumb{max-height:280px}}

/* Previously in Website/src/whispers.css */
@media(max-width:940px){.whispers-layout{grid-template-columns:1fr}.whispers-panel{max-width:none}}

@media(max-width:550px){.whispers-gallery{grid-template-columns:1fr}.whispers-intro h2{font-size:40px}.whispers-panel h3{font-size:32px}.whispers-admin{padding:35px 0}.admin-dashboard-head{flex-direction:column;align-items:start}}

@media(max-width:640px){
  .whispers-board-page .whispers-gallery{grid-template-columns:minmax(0,1fr)}
  .whispers-single{max-width:100%}
  .whispers-page-actions{margin:20px auto 26px}
}

@media(max-width:600px){
  .moderation-shelf-heading{align-items:flex-start}
  .moderation-shelf{padding:17px 13px}
  .moderation-shelf-heading h2{font-size:30px}
}

/* Previously in Website/src/dark-theme.css */
@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}
}

@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}
}

@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}
}

@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
  }
}

@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
  }
}

@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
  }
}

@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
  }
}

@media(max-width:900px){
  body.cx-homepage .hero .hero-title{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  body.cx-homepage .hero .hero-title-main,
  body.cx-homepage .hero .hero-title-sub{
    display:block!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.cx-homepage .hero .hero-desc{
    display:-webkit-box!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
    overflow:hidden!important;
  }
}

@media(max-width:600px){
  body.cx-homepage .hero .hero-title{
    font-size:clamp(34px,9vw,50px)!important;
    line-height:1.04!important;
  }
  body.cx-homepage .hero .hero-desc{
    -webkit-line-clamp:2;
    line-clamp:2;
  }
  body.cx-homepage .hero .hero-overline,
  body.cx-homepage .hero .hero-footnote{
    display:none!important;
  }
}

@media(max-width:600px){
  .site-header:has(.cx-header-extras:not(:empty)){min-height:65px}
}

@media(max-width:1099px){
  .site-header .cx-header-extras:not(:empty){width:calc(100% - 32px);padding-bottom:12px}
}

@media(max-width:1099px) {
  body.cx-unified-chrome .site-header .head-inner {
    width:calc(100% - 32px)!important;
    padding:clamp(17px,3vw,24px) 0 clamp(14px,2vw,19px)!important;
  }
  body.cx-unified-chrome .site-header .brand-name {
    font-size:clamp(22px,4vw,36px)!important;
  }
  body.cx-unified-chrome .site-header .nav a {
    font-size:clamp(12px,1.7vw,16px)!important;
    padding:7px 1px!important;
  }
}

@media(max-width:700px) {
  body.cx-unified-chrome .site-header .head-inner {
    width:calc(100% - 26px)!important;
  }
  body.cx-unified-chrome .site-header .brand-name {
    font-size:clamp(18px,6vw,29px)!important;
    letter-spacing:.1em!important;
  }
  body.cx-unified-chrome .site-header .brand-sub {
    font-size:clamp(9px,2.4vw,12px)!important;
  }
  body.cx-unified-chrome .site-header .nav,
  body.cx-unified-chrome .site-header .nav.open {
    gap:0 clamp(10px,3vw,17px)!important;
    margin-top:19px!important;
  }
  body.cx-unified-chrome .site-header .nav a {
    min-height:40px!important;
    font-size:clamp(10px,2.8vw,13px)!important;
    padding:9px 0!important;
  }
  body.cx-unified-chrome .footer .footer-inner {
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    text-align:center!important;
    gap:18px!important;
  }
  body.cx-unified-chrome .footer .footer-center,
  body.cx-unified-chrome .footer .footer-inner > small {
    display:block!important;
    max-width:100%!important;
    text-align:center!important;
  }
}

/* Previously in Website/src/fluid-layout.css */
@media(max-width:900px) {
  body.cx-unified-chrome .site-header .head-inner {
    min-width:0!important;
    height:auto!important;
  }
  body.cx-unified-chrome .site-header .brand,
  body.cx-unified-chrome .site-header .brand > span:last-child,
  body.cx-unified-chrome .site-header .brand-name,
  body.cx-unified-chrome .site-header .brand-sub {
    max-width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }
  body.cx-unified-chrome .site-header .nav a {
    max-width:100%!important;
    overflow-wrap:break-word;
  }
  body.cx-public-page main .hero,
  body.cx-public-page main .hero-shell {
    height:auto!important;
  }
  body.cx-public-page main .hero .hero-title {
    box-sizing:border-box;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    text-overflow:clip!important;
  }
  body.cx-public-page main .hero .hero-title-main,
  body.cx-public-page main .hero .hero-title-sub {
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    line-height:1.13!important;
  }
  body.cx-public-page main .hero .hero-desc {
    display:block!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
    max-height:none!important;
  }
  body.cx-public-page main .hero-copy {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding-inline:0!important;
  }
  body.cx-public-page main .hero .hero-bg-img {
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  body.cx-public-page main :is(
    .work-columns,.home-featured-stack,.home-section-grid,
    .home-commission-grid,.home-about-grid,.detail-grid,
    .about-page-grid,.commission-page-grid,.whispers-layout
  ) {
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.cx-public-page main .work-section .home-featured-writing .writing-card,
  body.cx-public-page main .writing-grid .writing-card,
  body.cx-public-page main .writing-list .writing-card,
  body.cx-public-page main .art-archive-row {
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    min-width:0!important;
    max-width:100%!important;
    align-items:start!important;
    overflow:hidden!important;
  }
  body.cx-public-page main .writing-info,
  body.cx-public-page main .art-archive-info {
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  body.cx-public-page main .writing-info :is(h3,.card-summary,.card-summary p,.eyebrow),
  body.cx-public-page main .art-archive-info :is(h3,.art-archive-description,.eyebrow) {
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  body.cx-public-page main .writing-info .text-link,
  body.cx-public-page main .art-archive-info .art-archive-view {
    display:inline-flex!important;
    flex:0 0 auto!important;
    position:static!important;
    align-self:flex-start!important;
    margin-top:clamp(10px,2vw,16px)!important;
    max-width:100%!important;
    white-space:normal!important;
  }
  body.cx-public-page main .home-featured-writing .card-summary,
  body.cx-public-page main .writing-grid .card-summary {
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:4!important;
    line-clamp:4!important;
    overflow:hidden!important;
    max-height:7em!important;
    line-height:1.5!important;
  }
  body.cx-public-page main .home-featured-writing .card-summary p,
  body.cx-public-page main .writing-grid .card-summary p {
    margin:0!important;
    line-height:1.5!important;
  }
  body.cx-public-page main .work-section .home-featured-stack {
    gap:clamp(45px,7vw,65px)!important;
  }
  body.cx-public-page main .work-section .section-heading {
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:wrap!important;
    gap:clamp(9px,2vw,16px)!important;
  }
  body.cx-public-page main .work-section .section-heading h3,
  body.cx-public-page main .work-section .section-heading a {
    position:static!important;
    max-width:100%!important;
  }
  body.cx-public-page main .home-filmstrip,
  body.cx-public-page main .filmstrip-stage {
    max-width:100%!important;
    min-width:0!important;
  }
}

@media(max-width:600px) {
  body.cx-unified-chrome .site-header .head-inner {
    width:calc(100% - 32px)!important;
    padding:clamp(18px,4.5vw,27px) 0 16px!important;
  }
  body.cx-unified-chrome .site-header .brand-name {
    max-width:100%!important;
    font-size:clamp(19px,5.45vw,26px)!important;
    letter-spacing:.065em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.cx-unified-chrome .site-header .brand-sub {
    margin-top:10px!important;
    font-size:clamp(10px,2.75vw,13px)!important;
    letter-spacing:.16em!important;
  }
  body.cx-unified-chrome .site-header .nav,
  body.cx-unified-chrome .site-header .nav.open {
    gap:0 clamp(8px,2.7vw,16px)!important;
    margin-top:clamp(17px,4vw,22px)!important;
  }
  body.cx-unified-chrome .site-header .nav a {
    font-size:clamp(10px,2.7vw,12px)!important;
    min-height:36px!important;
    padding:7px 1px!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.25!important;
  }
  body.cx-public-page main .hero,
  body.cx-public-page main .hero-shell {
    min-height:clamp(365px,65svh,550px)!important;
  }
  body.cx-public-page main .hero-copy {
    padding-block:clamp(40px,8svh,70px)!important;
  }
  body.cx-public-page main .hero .hero-title {
    font-size:clamp(29px,8.6vw,41px)!important;
    line-height:1.12!important;
    letter-spacing:-.015em!important;
  }
  body.cx-public-page main .hero .hero-title-main,
  body.cx-public-page main .hero .hero-title-sub {
    font-size:inherit!important;
  }
  body.cx-public-page main .hero .little-rule {
    width:min(100%,280px)!important;
    margin-inline:auto!important;
  }
  body.cx-public-page main .writing-info h3 {
    font-size:clamp(20px,5.75vw,26px)!important;
    line-height:1.15!important;
  }
  body.cx-public-page main .writing-info .eyebrow,
  body.cx-public-page main .art-archive-info .eyebrow {
    font-size:clamp(9px,2.4vw,11px)!important;
    line-height:1.35!important;
    letter-spacing:.06em!important;
  }
  body.cx-public-page main .writing-info .card-summary,
  body.cx-public-page main .writing-info .card-summary p {
    font-size:clamp(13px,3.65vw,16px)!important;
    line-height:1.42!important;
  }
  body.cx-public-page main .home-featured-writing .card-summary,
  body.cx-public-page main .writing-grid .card-summary {
    -webkit-line-clamp:4!important;
    line-clamp:4!important;
    max-height:6.2em!important;
  }
  body.cx-public-page main .work-section .home-featured-writing .writing-card,
  body.cx-public-page main .writing-grid .writing-card,
  body.cx-public-page main .writing-list .writing-card,
  body.cx-public-page main .art-archive-row {
    grid-template-columns:clamp(86px,25vw,116px) minmax(0,1fr)!important;
    gap:clamp(10px,3vw,15px)!important;
    padding:clamp(10px,3vw,15px)!important;
  }
  body.cx-public-page main .work-section .home-featured-stack {
    gap:clamp(45px,11vw,60px)!important;
  }
  body.cx-unified-chrome .footer {
    padding:clamp(44px,10vw,65px) 0 32px!important;
  }
  body.cx-unified-chrome .footer .footer-inner {
    width:calc(100% - 34px)!important;
    gap:clamp(18px,4vw,26px)!important;
  }
  body.cx-unified-chrome .footer-connect .footer-connect-title {
    font-size:clamp(29px,8.25vw,38px)!important;
  }
  body.cx-unified-chrome .footer-connect .footer-connect-description {
    max-width:100%;
    font-size:clamp(15px,4.25vw,18px)!important;
  }
  body.cx-unified-chrome .footer-connect .footer-connect-socials {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:19px 10px!important;
    width:min(100%,355px)!important;
  }
  body.cx-unified-chrome .footer-connect .footer-connect-socials .social-icon {
    width:50px!important;
    height:50px!important;
  }
  body.cx-unified-chrome .footer-connect .footer-connect-socials .social-icon img {
    width:33px!important;
    height:33px!important;
  }
  body.cx-unified-chrome .footer .footer-brand {
    flex-wrap:wrap!important;
    font-size:clamp(15px,4vw,19px)!important;
    letter-spacing:.08em!important;
  }
  body.cx-unified-chrome .footer .footer-brand .brand-moon {
    font-size:clamp(33px,8vw,43px)!important;
  }
  body.cx-unified-chrome .footer .footer-center {
    font-size:clamp(11px,3vw,14px)!important;
    letter-spacing:.11em!important;
  }
  body.cx-unified-chrome .footer .footer-inner > small {
    font-size:clamp(11px,3vw,13px)!important;
  }
}

@media(max-width:355px) {
  body.cx-unified-chrome .site-header .brand-name {font-size:19px!important;letter-spacing:.03em!important}
  body.cx-unified-chrome .footer-connect .footer-connect-socials {gap:17px 5px!important}
}

/* Previously in Website/src/hero-footer.css */
@media(max-width:900px) {
  body.cx-homepage.cx-public-page main .hero {
    display:block!important;
    position:relative!important;
    height:auto!important;
    min-height:clamp(430px,60vw,620px)!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-background {
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-background .hero-bg-img {
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:right center!important;
    opacity:.68!important;
    filter:saturate(.8) brightness(.72)!important;
  }
  body.cx-homepage.cx-public-page main .hero::before {
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:
      linear-gradient(90deg,rgba(17,22,35,.89) 0%,rgba(17,22,35,.72) 39%,rgba(17,22,35,.30) 74%,rgba(17,22,35,.08) 100%),
      linear-gradient(0deg,rgba(17,22,35,.32),transparent 40%)!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-shell {
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    grid-column:auto!important;
    grid-row:auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:calc(100% - 34px)!important;
    height:auto!important;
    min-height:clamp(430px,60vw,620px)!important;
    max-width:100%!important;
    margin:0 auto!important;
    padding:0!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-copy {
    width:100%!important;
    max-width:min(100%,760px)!important;
    padding:clamp(55px,8vw,85px) 0!important;
    text-align:center!important;
    overflow:visible!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-title {
    font-size:clamp(29px,6vw,54px)!important;
    line-height:1.14!important;
    margin:clamp(12px,2.5vw,22px) 0!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-desc {
    display:block!important;
    max-width:min(100%,650px)!important;
    max-height:none!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
    margin-inline:auto!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-kicker,
  body.cx-homepage.cx-public-page main .hero .hero-overline {
    white-space:normal!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-footnote {
    display:none!important;
  }
}

@media(max-width:600px) {
  body.cx-homepage.cx-public-page main .hero,
  body.cx-homepage.cx-public-page main .hero .hero-shell {
    min-height:clamp(430px,115vw,590px)!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-title {
    font-size:clamp(27px,7.65vw,37px)!important;
    letter-spacing:-.018em!important;
    line-height:1.15!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-shell {
    width:calc(100% - 30px)!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-copy {
    padding:clamp(48px,12vw,72px) 0!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-background .hero-bg-img {
    width:100%!important;
    height:100%!important;
    opacity:.58!important;
  }
  body.cx-homepage.cx-public-page main .hero::before {
    background:
      linear-gradient(90deg,rgba(17,22,35,.77) 0%,rgba(17,22,35,.61) 53%,rgba(17,22,35,.16) 100%),
      linear-gradient(0deg,rgba(17,22,35,.28),transparent 45%)!important;
  }
  body.cx-unified-chrome .footer {
    padding-bottom:75px!important;
  }
  body.cx-unified-chrome .footer .footer-inner {
    width:calc(100% - 30px)!important;
  }
  body.cx-unified-chrome .footer .footer-brand {
    align-self:flex-start!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  body.cx-unified-chrome .footer .footer-connect-socials {
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:clamp(2px,1vw,8px)!important;
  }
  body.cx-unified-chrome .footer .footer-connect-socials .social-icon {
    width:clamp(31px,9.4vw,43px)!important;
    height:clamp(31px,9.4vw,43px)!important;
  }
  body.cx-unified-chrome .footer .footer-connect-socials .social-icon img {
    width:clamp(22px,6.9vw,31px)!important;
    height:clamp(22px,6.9vw,31px)!important;
  }
  body.cx-unified-chrome .footer .footer-connect-socials .social-label {
    font-size:clamp(8px,2.45vw,11px)!important;
  }
  body.cx-unified-chrome .footer .studio-footer-link {
    left:50%!important;
    right:auto!important;
    bottom:14px!important;
    min-height:32px!important;
    font-size:10px!important;
  }
}

@media(max-width:900px){
  body.cx-homepage.cx-public-page main .hero .hero-overline{
    display:inline-block!important;
    max-width:100%!important;
    font-size:clamp(9px,1.6vw,13px)!important;
    white-space:normal!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-footnote{
    display:block!important;
    position:absolute!important;
    bottom:clamp(9px,2vw,18px)!important;
    right:clamp(12px,3vw,24px)!important;
    max-width:calc(100% - 24px)!important;
    font-size:clamp(8px,1.3vw,11px)!important;
    letter-spacing:.08em!important;
    white-space:normal!important;
    text-align:right!important;
  }
  body.cx-public-page main :is(.home-featured-writing,.writing-grid,.writing-list,.art-archive-grid) .card-summary{
    display:block!important;
    max-height:none!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
  }
}

@media(max-width:600px){
  body.cx-homepage.cx-public-page main .hero .hero-overline{
    font-size:clamp(9px,2.5vw,11px)!important;
    letter-spacing:.09em!important;
  }
  body.cx-homepage.cx-public-page main .hero .hero-footnote{
    font-size:8px!important;
  }
}

@media(max-width:600px){
  body.cx-unified-chrome footer.footer > .footer-admin-anchor{
    bottom:45px!important;
  }
}

@media (max-width:1099px) {
  body.cx-unified-chrome .site-header,
  body.cx-unified-chrome footer.footer,
  body.cx-unified-chrome .site-header .head-inner,
  body.cx-unified-chrome .footer .footer-inner {
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body.cx-unified-chrome .site-header .nav,
  body.cx-unified-chrome .site-header .nav.open {
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.cx-unified-chrome .site-header .nav a {
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  body.cx-public-page main :is(
    .shell,.writing-grid,.art-archive-grid,.writing-card,.art-archive-row,
    .writing-info,.art-archive-info,.section-intro,.home-featured-stack,
    .home-section-grid,.about-page-grid,.commission-page-grid,.detail-grid,
    .home-filmstrip,.filmstrip-stage,.hero-copy,.hero-desc,.rich-text
  ) {
    box-sizing:border-box!important;
    min-inline-size:0!important;
    max-inline-size:100%!important;
  }
  body.cx-public-page main :is(
    h1,h2,h3,h4,h5,h6,p,li,blockquote,a,.eyebrow,.card-summary
  ) {
    max-inline-size:100%!important;
    overflow-wrap:anywhere!important;
  }
  body.cx-public-page main :is(
    .detail-image img,.about-photo-large img,.commission-page-image img,
    .home-about-media img,.home-commission-media img,.art-card img,
    .cx-created-image
  ) {
    display:block;
    max-inline-size:100%!important;
    height:auto!important;
    object-fit:contain;
  }
  body.cx-public-page main .home-filmstrip .filmstrip-mat img {
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  body.cx-public-page main :is(
    .writing-thumb img,.art-archive-cover img
  ) {
    max-width:100%!important;
    object-fit:cover!important;
  }
}

@media (max-width:600px) {
  body.cx-public-page main .hero .hero-title,
  body.cx-public-page main .hero .hero-title-main,
  body.cx-public-page main .hero .hero-title-sub {
    box-sizing:border-box!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
  }
  body.cx-public-page main .hero .hero-copy,
  body.cx-public-page main .hero .hero-desc {
    min-width:0!important;
    max-width:100%!important;
  }
  body.cx-unified-chrome .footer .footer-connect,
  body.cx-unified-chrome .footer .footer-connect-socials {
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body.cx-public-page main .home-filmstrip .filmstrip-stage {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
}

@media(max-width:600px){
  body.cx-unified-chrome footer.footer .footer-connect > .footer-connect-socials{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:clamp(2px,1vw,8px)!important;
    margin:clamp(16px,4vw,24px) auto 0!important;
  }
}

@media(max-width:600px){
  body.cx-unified-chrome footer.footer .footer-connect > .cx-centred-custom-socials{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    width:100%!important;
    gap:clamp(2px,1vw,7px)!important;
  }
  body.cx-unified-chrome footer.footer .cx-centred-custom-socials > .cx-created-social{
    width:clamp(32px,10vw,44px)!important;
    height:clamp(32px,10vw,44px)!important;
  }
}

@media (max-width:1099px){
  body.cx-homepage.cx-public-page main .hero .little-rule{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:min(280px,calc(100% - 32px))!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:none!important;
    translate:none!important;
  }
}

/* === CURRENT MASTER RESPONSIVE RULES (LAST WINS) === */

/*
 * CAERUNOX RESPONSIVE SYSTEM
 * Source of truth: Desktop Site Designer. Viewport presentation only.
 * One ordered stylesheet replaces mobile-scale.css + responsive-guard.css.
 * Historical component-level CSS remains loaded for desktop/base styling,
 * but this LAST stylesheet owns the final phone and tablet rules.
 *
 * Maintainers: do not add another mobile patch CSS link; edit this file.
 */

/* Baseline fluid constraints retained to avoid breaking existing pages. */
/*
 * One responsive editorial scale for the public site.
 *
 * The Media Studio already has a legible mobile layout. Bring the public
 * pages into that same fluid pattern: one column when needed, text that
 * follows the viewport, readable paragraph leading, and full-width content.
 *
 * Desktop remains untouched. Saved Site Designer records are not modified:
 * per-element custom font sizes are scaled by design-runtime.js instead.
 */
@media (max-width:900px) {
  body.cx-public-page main :is(
    .shell,.work-columns,.home-featured-stack,.home-section-grid,
    .home-about-grid,.home-commission-grid,.about-page-grid,
    .commission-page-grid,.detail-grid,.writing-grid,.art-archive-grid,
    .connect-content,.whispers-layout,.whispers-gallery
  ) {
    min-width:0;
    max-width:100%;
  }
  body.cx-public-page main :is(
    .work-columns,.home-section-grid,.home-about-grid,.home-commission-grid,
    .detail-grid,.about-page-grid,.commission-page-grid,.connect-grid,
    .whispers-layout
  ) {
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.cx-public-page main :is(
    .work-columns,.home-featured-stack,.home-section-grid,
    .writing-list,.writing-grid,.gallery-grid,.art-archive-grid
  ) > * {
    min-width:0;
    max-width:100%;
  }
  body.cx-public-page main :is(
    .hero-copy,.home-about-copy,.home-commission-copy,.detail-copy,
    .about-page-copy,.commission-page-content,.writing-info,
    .art-archive-info,.whispers-panel,.contact-content
  ) {
    min-width:0;
    max-width:100%;
  }
  body.cx-public-page main :is(
    .detail-image,.about-photo-large,.commission-page-image,
    .home-about-media,.home-commission-media
  ) {
    max-width:100%;
  }
  body.cx-public-page main :is(
    .rich-text,.rich-text p,.card-summary,.hero-desc,
    .detail-copy,.home-about-paragraphs,.home-commission-description,
    .whisper-entry,.whisper-message
  ) {
    overflow-wrap:anywhere;
  }
  body.cx-public-page main :is(
    .hero-actions,.social-row,.commission-platforms,.studio-actions,
    .whispers-page-actions
  ) {
    flex-wrap:wrap;
    max-width:100%;
  }
  body.cx-public-page main .page-banner-inner {
    width:min(100%,780px);
    max-width:100%;
    margin-inline:auto;
  }
}
/* Phones: one fluid scale for public-facing pages only.
   Separate moderator and Media Studio controls keep their existing layout. */
@media (max-width:600px) {
  body.cx-public-page main :is(
    .work-section,.home-commissions-section,.home-about-section,
    .whispers-invite-section,.connect-section,
    .collection-section,.text-section,.detail-top,
    .page-banner,.whispers-page
  ) > .shell {
    width:calc(100% - 30px)!important;
    max-width:100%!important;
  }
  body.cx-public-page main :is(
    .work-section,.home-commissions-section,.home-about-section,
    .whispers-invite-section,.connect-section,
    .collection-section,.text-section,.detail-top,
    .page-banner,.whispers-page
  ) {
    min-width:0;
    max-width:100%;
  }
  body.cx-public-page main :is(
    .hero .hero-title,.hero h1
  ) {
    max-width:100%!important;
    font-size:clamp(34px,9.5vw,45px)!important;
    line-height:1.08!important;
    overflow-wrap:break-word;
    white-space:normal!important;
  }
  body.cx-public-page main :is(
    .page-banner h1,.detail-copy h1
  ) {
    font-size:clamp(35px,9.6vw,46px)!important;
    line-height:1.12!important;
    overflow-wrap:break-word;
  }
  body.cx-public-page main :is(
    .section-intro h2,.home-about-heading h2,.home-commission-copy h2,
    .home-commissions-section h2,.home-about-section h2,
    .connect-section h2,.text-section h2,
    .whispers-intro h2,.whispers-card-centered h3
  ) {
    font-size:clamp(30px,8.5vw,40px)!important;
    line-height:1.16!important;
    letter-spacing:clamp(.02em,.13vw,.09em)!important;
    overflow-wrap:break-word;
  }
  body.cx-public-page main :is(
    .section-heading h2,.section-heading h3,.collection-heading h2,
    .writing-info h3,.art-archive-info h3,.art-caption h3,
    .commission-platform-card h4,.commission-inline-card h3,
    .whispers-panel h3,.text-section h3
  ) {
    font-size:clamp(23px,6.4vw,30px)!important;
    line-height:1.2!important;
    overflow-wrap:break-word;
  }
  body.cx-public-page main :is(
    .hero-desc,.hero-desc p,.page-banner p:last-child,
    .home-about-paragraphs p,.home-commission-description p,
    .commission-text,.commission-text p,.connect-section p:not(.eyebrow),
    .text-section .rich-text p,.text-section .rich-text li,
    .detail-copy .rich-text p,.detail-copy .rich-text li,
    .text-section .commission-rich p,.contact-content p,
    .whispers-guidelines,.whispers-intro p,.whispers-privacy,
    .whispers-card-centered p
  ) {
    font-size:clamp(16px,calc(var(--cx-about-body,20px) * .88),20px)!important;
    line-height:clamp(1.42,var(--cx-paragraph-leading,1.5),1.65)!important;
    letter-spacing:normal;
  }
  body.cx-public-page main :is(
    .detail-copy .lead p,.text-section .lead p
  ) {
    font-size:clamp(18px,calc(var(--cx-project-lead,26px) * .76),23px)!important;
    line-height:1.5!important;
  }
  body.cx-public-page main :is(
    .writing-info .card-summary,.writing-info .card-summary p,
    .art-archive-info .card-summary,.art-archive-info .card-summary p,
    .writing-list .card-summary,.writing-grid .card-summary
  ) {
    font-size:clamp(14px,3.85vw,17px)!important;
    line-height:1.45!important;
  }
  body.cx-public-page main :is(
    .eyebrow,.home-section-eyebrow,.section-intro p,
    .writing-info .eyebrow,.art-archive-info .eyebrow
  ) {
    font-size:clamp(10px,2.7vw,13px)!important;
    line-height:1.5!important;
    letter-spacing:clamp(.04em,.13vw,.13em)!important;
  }
  body.cx-public-page main :is(
    .btn,.btn-small,.text-link,.section-heading a,
    .whispers-page-actions a
  ) {
    max-width:100%;
    min-height:44px;
    font-size:clamp(10px,2.8vw,13px)!important;
    line-height:1.3!important;
    white-space:normal!important;
    overflow-wrap:break-word;
    text-align:center;
  }
  body.cx-public-page main :is(
    .collection-heading,.whispers-list-header,.section-heading
  ) {
    flex-wrap:wrap;
    gap:10px;
  }
  body.cx-public-page main :is(
    .writing-card,.art-archive-row,.gallery-grid .art-card,
    .commission-platform-card,.commission-inline-card,.whispers-panel
  ) {
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
  }
  /* Honour the requested square thumbnail beside its summary, rather than
     turning every writing card into a giant image-first poster. */
  body.cx-public-page main :is(
    .writing-list .writing-card,.writing-grid .writing-card,
    .home-featured-writing .writing-card,.art-archive-row
  ) {
    grid-template-columns:clamp(86px,27vw,125px) minmax(0,1fr)!important;
    gap:clamp(10px,3vw,16px)!important;
    align-items:start!important;
  }
  body.cx-public-page main :is(
    .writing-thumb,.art-archive-cover
  ) {
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1;
  }
  body.cx-public-page main :is(
    .writing-thumb img,.art-archive-cover img
  ) {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  body.cx-public-page main .gallery-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.cx-public-page main .gallery-grid .art-open {
    height:auto!important;
    aspect-ratio:4 / 3;
  }
  body.cx-public-page main :is(
    .about-photo-large img,.commission-page-image img,.detail-image img
  ) {
    width:100%;
    height:auto!important;
    object-fit:contain!important;
  }
  body.cx-public-page main :is(
    .whispers-layout,.whispers-gallery,.commission-platform-grid,
    .commission-inline-grid
  ) {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    min-width:0;
    width:100%;
  }
  body.cx-public-page main :is(
    .whispers-fields input,.whispers-fields textarea,
    .whispers-fields select,.contact-content textarea
  ) {
    max-width:100%;
    min-width:0;
    font-size:16px;
  }
  body.cx-public-page main :is(
    .rich-text p,.rich-text li
  ) {
    max-width:100%;
  }
}


/* Consolidated adaptive safeguards (original precedence preserved). */
/* Single shared design: adaptive boundaries for every screen width. */
html{width:100%;max-width:100%}
body.cx-unified-chrome{min-width:0;max-width:100%;overflow-x:clip}
body.cx-unified-chrome :is(.site-header,.footer){max-width:100%}
body.cx-unified-chrome .site-header :is(.head-inner,.cx-header-extras),
body.cx-unified-chrome .footer :is(.footer-inner,.footer-connect,.footer-connect-socials){
  box-sizing:border-box;min-width:0;max-width:100%;
}
body.cx-unified-chrome .site-header .nav{flex-wrap:wrap!important;max-width:100%}
body.cx-unified-chrome .site-header .nav a{min-width:0;overflow-wrap:break-word}
body.cx-unified-chrome :is(.site-header,.footer) :is(h1,h2,h3,h4,h5,h6,p,span,a){
  overflow-wrap:break-word;
}
body.cx-unified-chrome .site-header .cx-header-extras :is(img,video,svg),
body.cx-unified-chrome .footer :is(img,video,svg){max-width:100%;object-fit:contain}
body.cx-public-page main :is(.shell,.work-columns,.home-featured-stack,.home-section-grid,.home-about-grid,.home-commission-grid,
  .detail-grid,.about-page-grid,.commission-page-grid,.writing-grid,.art-archive-grid,
  .writing-list,.whispers-layout,.collection-section,.text-section){
  box-sizing:border-box;min-width:0;max-width:100%;
}
body.cx-public-page main :is(h1,h2,h3,h4,h5,h6,p,blockquote,.rich-text,.card-summary,.art-archive-description){
  max-width:100%;overflow-wrap:anywhere;hyphens:auto;
}
body.cx-public-page main :is(.writing-card,.writing-info,.art-archive-row,.art-archive-info,.detail-copy,
  .home-about-copy,.home-commission-copy,.hero-copy,.commission-page-content){
  box-sizing:border-box;min-width:0;max-width:100%;
}
body.cx-public-page main :is(.art-archive-cover,.writing-thumb,.detail-image,.about-photo-large,
  .commission-page-image,.home-about-media,.home-commission-media){
  min-width:0;max-width:100%;overflow:hidden;
}
body.cx-public-page main :is(img,video,svg){max-width:100%}
body.cx-public-page main :is(.detail-image,.about-photo-large,.commission-page-image,.home-about-media,
  .home-commission-media) img{object-fit:contain}
body.cx-public-page main .home-filmstrip,
body.cx-public-page main .filmstrip-stage{box-sizing:border-box;min-width:0;max-width:100%}
body.cx-public-page main .filmstrip-slide img{max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:900px){
  body.cx-public-page main :is(.writing-grid,.art-archive-grid,.detail-grid,.about-page-grid,.commission-page-grid,
    .home-section-grid,.home-about-grid,.home-commission-grid){grid-template-columns:minmax(0,1fr)!important}
  body.cx-public-page main .cx-created-image,
  body.cx-public-page main .rich-text img{width:auto!important;height:auto!important;max-width:100%!important}
  body.cx-public-page main .hero-copy :is(h1,h2,p,span,em){overflow-wrap:break-word}
  body.cx-unified-chrome .footer .footer-brand,
  body.cx-unified-chrome .footer .footer-center{max-width:100%;overflow-wrap:anywhere}
  body.cx-unified-chrome .site-header .cx-header-extras:not(:empty){
    width:calc(100% - 32px)!important;max-width:100%!important;
  }
  body.cx-unified-chrome footer.footer > .footer-admin-anchor{
    box-sizing:border-box!important;max-width:100%!important;
  }
}
@media(max-width:600px){
  body.cx-public-page main :is(.writing-card,.art-archive-row,.detail-grid,.about-page-grid,.commission-page-grid){
    min-width:0!important;max-width:100%!important;
  }
  body.cx-public-page main :is(.writing-info,.art-archive-info,.detail-copy){overflow-wrap:anywhere}
  body.cx-unified-chrome .footer .footer-connect-socials .connect-social-link{
    min-width:0!important;max-width:100%!important;
  }
  body.cx-unified-chrome .footer .footer-connect-socials .social-label{
    min-width:0!important;max-width:100%!important;overflow-wrap:anywhere;
  }
}

/* Keep the homepage focused on work, commissions and whispers.
 * The About markup stays hidden only to preserve saved editor element IDs;
 * the dedicated /about/ page is unaffected. */
body.cx-homepage.cx-public-page main > .home-about-section[hidden]{
  display:none!important;
}

/* Default natural-ratio frames for photographs and artwork.
 * No visual crop by default: the border hugs the source image on every
 * viewport. Uniform gallery tiles intentionally keep their existing crop.
 * A saved per-image Photo & Frame choice overrides these default selectors. */
body.cx-public-page :is(
  .about-photo-large,.detail-image,.commission-page-image,
  .home-about-media,.home-commission-media,.about-portrait,.comm-img
):not([data-cx-photo-frame]){
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
}
body.cx-public-page :is(
  .about-photo-large,.detail-image,.commission-page-image,
  .home-about-media,.home-commission-media,.about-portrait,.comm-img
):not([data-cx-photo-frame]) img:not([data-cx-photo-fit]){
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
}



/*
 * PHONE / TABLET PRESENTATION OF THE DESKTOP MASTER (2026-10-26)
 * These are constraints, not a second saved page design. Desktop styling
 * remains untouched. All content still comes from the same HTML + editor ops.
 */
@media (max-width:900px){
  body.cx-public-page main > :is(.work-section,.home-commissions-section,.whispers-invite-section,.home-about-section,.connect-section,.collection-section,.text-section){
    height:auto!important;
    min-height:0!important;
  }
  body.cx-homepage.cx-public-page main .work-section .work-columns.home-featured-stack{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
  }
  body.cx-homepage.cx-public-page main :is(.home-featured-stack,.home-commission-grid,.whispers-card-centered,.home-commission-copy){
    min-width:0!important;
    max-width:100%!important;
  }
  body.cx-homepage.cx-public-page main :is(.work-section,.home-commissions-section,.whispers-invite-section)::after{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:auto!important;
    transform:none!important;
    translate:0 0!important;
    display:block!important;
    clear:both!important;
    margin:clamp(20px,4vw,36px) auto -16px!important;
    z-index:1!important;
  }
  body.cx-homepage.cx-public-page main .work-section .home-featured-stack > div+div::before{
    transform:none!important;
    translate:0 0!important;
    margin:clamp(28px,5vw,46px) auto!important;
  }
}
@media (max-width:600px){
  /* A compact, legible header, still using exactly the same links and branding. */
  body.cx-unified-chrome .site-header .head-inner{
    width:calc(100% - 28px)!important;
    height:auto!important;
    min-height:0!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:clamp(10px,3vw,16px)!important;
    padding:clamp(13px,4vw,21px) 0!important;
  }
  body.cx-unified-chrome .site-header .brand{
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 auto!important;
    text-align:center!important;
  }
  body.cx-unified-chrome .site-header .brand-name{
    font-size:clamp(20px,6vw,28px)!important;
    letter-spacing:clamp(.035em,.15vw,.09em)!important;
    line-height:1.15!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.cx-unified-chrome .site-header .brand-sub{
    font-size:clamp(10px,2.9vw,13px)!important;
    line-height:1.4!important;
    margin-top:7px!important;
  }
  body.cx-unified-chrome .site-header .nav,
  body.cx-unified-chrome .site-header .nav.open{
    width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:5px clamp(9px,2.4vw,15px)!important;
    padding:0!important;
    position:static!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  body.cx-unified-chrome .site-header .nav a{
    width:auto!important;
    font-size:clamp(10px,2.8vw,12px)!important;
    letter-spacing:.05em!important;
    line-height:1.35!important;
    white-space:nowrap!important;
    padding:4px 1px!important;
  }
  /* Phones must not inherit the full-scale desktop typography. */
  body.cx-homepage.cx-public-page main .section-intro h2{
    font-size:clamp(28px,8vw,35px)!important;
    line-height:1.13!important;
    letter-spacing:.04em!important;
    max-width:100%!important;
  }
  body.cx-homepage.cx-public-page main .section-intro > p{
    font-size:clamp(10px,2.7vw,12px)!important;
    line-height:1.45!important;
    letter-spacing:.08em!important;
  }
  body.cx-homepage.cx-public-page main .work-section .section-heading{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    max-width:100%!important;
  }
  body.cx-homepage.cx-public-page main .work-section .section-heading h3{
    flex:1 1 auto!important;
    min-width:0!important;
    font-size:clamp(19px,5.9vw,25px)!important;
    letter-spacing:clamp(.03em,.14vw,.09em)!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  body.cx-homepage.cx-public-page main .work-section .section-heading a{
    flex:0 0 auto!important;
    font-size:clamp(10px,2.6vw,12px)!important;
    letter-spacing:.04em!important;
    white-space:nowrap!important;
    max-width:35%!important;
  }
  body.cx-homepage.cx-public-page main .work-section .home-featured-writing .writing-card{
    min-height:0!important;
    height:auto!important;
    grid-template-columns:clamp(90px,26vw,115px) minmax(0,1fr)!important;
    align-items:start!important;
    gap:clamp(11px,3vw,16px)!important;
    overflow:hidden!important;
  }
  body.cx-homepage.cx-public-page main .work-section .home-featured-writing .writing-info{
    min-width:0!important;
    padding:3px 0!important;
  }
  body.cx-homepage.cx-public-page main .home-featured-writing .writing-info h3{
    font-size:clamp(18px,5vw,23px)!important;
    line-height:1.15!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
  }
  body.cx-homepage.cx-public-page main .home-featured-writing .writing-info .eyebrow{
    font-size:clamp(9px,2.5vw,11px)!important;
    line-height:1.45!important;
  }
  /* The homepage is a preview; the linked archive holds the entire synopsis. */
  body.cx-homepage.cx-public-page main .home-featured-writing .card-summary{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:5!important;
    line-clamp:5!important;
    max-height:7.3em!important;
    overflow:hidden!important;
    font-size:clamp(13px,3.8vw,16px)!important;
    line-height:1.45!important;
  }
  body.cx-homepage.cx-public-page main .home-featured-writing .card-summary p{
    display:inline!important;
    font-size:inherit!important;
    line-height:inherit!important;
  }
  body.cx-homepage.cx-public-page main .home-featured-writing .text-link{
    font-size:clamp(10px,2.8vw,12px)!important;
    margin-top:12px!important;
  }
  /* Let feature images and carousel controls consume normal section height. */
  body.cx-homepage.cx-public-page main .home-filmstrip{
    max-width:100%!important;
    padding-bottom:0!important;
  }
  body.cx-homepage.cx-public-page main .home-filmstrip .filmstrip-controls{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    margin:14px auto 0!important;
  }
  body.cx-homepage.cx-public-page main .home-filmstrip .filmstrip-arrow{
    max-width:44px!important;
    max-height:44px!important;
  }
  /* Natural section heights and a readable, bounded scale. */
  body.cx-homepage.cx-public-page main :is(.home-commissions-section,.whispers-invite-section){
    padding:clamp(32px,9vw,46px) 0!important;
    min-height:0!important;
    height:auto!important;
  }
  body.cx-homepage.cx-public-page main .home-commission-copy{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    height:auto!important;
    min-height:0!important;
    text-align:center!important;
  }
  body.cx-homepage.cx-public-page main .home-commission-copy h2{
    font-size:clamp(29px,8vw,38px)!important;
    line-height:1.13!important;
    letter-spacing:.03em!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  body.cx-homepage.cx-public-page main .home-commission-description{
    width:100%!important;
    max-width:100%!important;
    margin:clamp(14px,4vw,22px) auto!important;
  }
  body.cx-homepage.cx-public-page main .home-commission-description p,
  body.cx-homepage.cx-public-page main .whispers-card-centered p{
    font-size:clamp(15px,4.1vw,18px)!important;
    line-height:1.52!important;
    letter-spacing:normal!important;
    hyphens:none!important;
    overflow-wrap:break-word!important;
    max-width:100%!important;
  }
  body.cx-homepage.cx-public-page main .home-commission-copy > .btn{
    margin:clamp(14px,4vw,21px) auto 0!important;
    max-width:100%!important;
    font-size:clamp(10px,2.8vw,13px)!important;
    line-height:1.3!important;
    transform:none!important;
  }
  /* Five distinct touch targets. Their desktop art remains unchanged. */
  body.cx-unified-chrome footer.footer .footer-connect > .cx-centred-custom-socials{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    width:min(100%,340px)!important;
    max-width:100%!important;
    justify-items:center!important;
    align-items:center!important;
    gap:clamp(3px,1vw,7px)!important;
    margin-inline:auto!important;
  }
  body.cx-unified-chrome footer.footer .cx-centred-custom-socials > .cx-created-social{
    box-sizing:border-box!important;
    display:grid!important;
    place-items:center!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    justify-self:center!important;
    margin:0!important;
  }
  body.cx-unified-chrome footer.footer .cx-centred-custom-socials > .cx-created-social img{
    max-width:80%!important;
    max-height:80%!important;
    object-fit:contain!important;
  }
  body.cx-unified-chrome footer.footer .footer-connect-title{
    max-width:100%!important;
    font-size:clamp(27px,8vw,36px)!important;
    line-height:1.14!important;
    text-align:center!important;
    white-space:normal!important;
  }
}


/*
 * Canonical layout contract. All further tablet/phone fixes go HERE, not in
 * additional cascading "patch" stylesheets. Preserve the desktop authored
 * text, images, fonts and links; never replicate page sections per device.
 */
@media (max-width:1099px) {
  body.cx-public-page main :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,.rich-text,.btn,.eyebrow) {
    hyphens:none!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  body.cx-homepage.cx-public-page main .whispers-invite-section {
    box-sizing:border-box!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  body.cx-homepage.cx-public-page main .whispers-invite-section .whispers-card-centered {
    box-sizing:border-box!important;
    display:flex!important;
    flex-flow:column nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:min(100%,950px)!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-inline:auto!important;
    text-align:center!important;
  }
  body.cx-homepage.cx-public-page main .whispers-card-centered > .eyebrow {
    order:0!important;
    position:static!important;
    max-width:100%!important;
  }
  body.cx-homepage.cx-public-page main .whispers-card-centered > h3 {
    order:1!important;
    position:static!important;
    max-width:100%!important;
    min-width:0!important;
    width:auto!important;
    height:auto!important;
    flex:0 1 auto!important;
    white-space:normal!important;
    text-align:center!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    margin:clamp(12px,2vw,20px) auto!important;
  }
  body.cx-homepage.cx-public-page main .whispers-card-centered > p {
    order:2!important;
    position:static!important;
    width:min(100%,760px)!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    flex:0 1 auto!important;
    white-space:normal!important;
    text-align:center!important;
    margin:0 auto clamp(14px,3vw,25px)!important;
  }
  body.cx-homepage.cx-public-page main .whispers-card-centered > a.btn {
    order:3!important;
    position:static!important;
    align-self:center!important;
    max-width:100%!important;
    flex:0 0 auto!important;
    margin:clamp(10px,2vw,19px) auto 0!important;
    text-align:center!important;
  }
  body.cx-public-page main .hero .little-rule {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:min(280px,calc(100% - 32px))!important;
    max-width:100%!important;
    margin-inline:auto!important;
    translate:none!important;
    transform:none!important;
  }
  body.cx-homepage.cx-public-page main :is(.home-commissions-section,.whispers-invite-section) {
    min-height:0!important;
    height:auto!important;
  }
  body.cx-public-page main :is(.work-columns,.home-featured-stack,.home-section-grid,
    .home-about-grid,.home-commission-grid,.about-page-grid,.commission-page-grid,
    .detail-grid,.connect-grid,.whispers-layout) {
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.cx-unified-chrome footer.footer.cx-has-custom-socials {
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:0!important;
    justify-content:flex-start!important;
  }
  body.cx-unified-chrome footer.footer.cx-has-custom-socials > .footer-inner {
    flex:0 0 auto!important;
    height:auto!important;
    min-height:0!important;
    align-self:center!important;
  }
  body.cx-unified-chrome footer.footer.cx-has-custom-socials > .footer-admin-anchor,
  body.cx-unified-chrome footer.footer.cx-has-custom-socials > .cx-footer-copyright {
    position:static!important;
    flex:0 0 auto!important;
    height:auto!important;
    min-height:0!important;
  }
  body.cx-unified-chrome footer.footer .footer-connect > .cx-centred-custom-socials {
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    justify-items:center!important;
    align-items:center!important;
    width:min(100%,390px)!important;
    max-width:100%!important;
    margin-inline:auto!important;
  }
  body.cx-unified-chrome footer.footer .cx-centred-custom-socials > .cx-created-social {
    position:static!important;
    min-width:0!important;
    max-width:100%!important;
    justify-self:center!important;
    margin:0!important;
    translate:none!important;
    transform:none!important;
    rotate:none!important;
  }
  body.cx-homepage.cx-public-page main .cx-created-divider {
    position:static!important;
    margin-inline:auto!important;
    translate:none!important;
    transform:none!important;
  }
}
@media (max-width:900px) {
  body.cx-public-page main > :is(.work-section,.home-commissions-section,
    .home-about-section,.whispers-invite-section,.collection-section,.text-section) {
    min-height:0!important;
    height:auto!important;
  }
}
@media (max-width:600px) {
  body.cx-homepage.cx-public-page main .whispers-card-centered > h3 {
    font-size:clamp(30px,7.9vw,40px)!important;
    line-height:1.15!important;
    margin:12px auto 14px!important;
  }
  body.cx-homepage.cx-public-page main .whispers-card-centered > p {
    font-size:clamp(15px,4.1vw,18px)!important;
    line-height:1.52!important;
  }
  body.cx-homepage.cx-public-page main .whispers-card-centered > .btn {
    font-size:clamp(10px,2.8vw,13px)!important;
    max-width:100%!important;
  }
  body.cx-unified-chrome footer.footer .footer-connect > .cx-centred-custom-socials {
    width:min(100%,360px)!important;
  }
  body.cx-unified-chrome footer.footer .cx-centred-custom-socials > .cx-created-social {
    width:clamp(32px,10.5vw,44px)!important;
    height:clamp(32px,10.5vw,44px)!important;
  }
}


/* One original custom Whispers title, displayed before the blurb on narrow
   screens. Runtime temporarily rehomes its existing DOM node, retaining its
   authored desktop parent and every Site Designer setting. */
@media (max-width:1099px){
  body.cx-homepage.cx-public-page main .whispers-card-centered > .cx-whisper-superseded-title{
    display:none!important;
  }
  body.cx-homepage.cx-public-page main .whispers-card-centered > .cx-compact-whispers-heading{
    order:1!important;
    display:block!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    translate:none!important;
    rotate:none!important;
    flex:0 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    margin:clamp(10px,3vw,18px) auto clamp(14px,4vw,22px)!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
    font-size:clamp(30px,6.8vw,44px)!important;
    line-height:1.15!important;
  }
}
@media (max-width:600px){
  body.cx-homepage.cx-public-page main .whispers-card-centered > .cx-compact-whispers-heading{
    font-size:clamp(29px,7.5vw,37px)!important;
  }
}


/* Homepage hero: the authored quote is the only visible text.
   Keep hidden elements in the DOM for stable saved Site Designer IDs. */
body.cx-homepage.cx-public-page main .hero :is(
  .hero-overline,.hero-kicker,.hero-desc
),
body.cx-homepage.cx-public-page main .hero .hero-footnote{
  display:none!important;
}

/* Centre the lone Whispers navigation item on phone screens.
   Desktop and tablet navigation layouts remain unchanged. */
@media (max-width:600px){
  body.cx-unified-chrome .site-header .nav a[href="/whispers/"]{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
    text-align:center!important;
    align-self:center!important;
    margin-inline:auto!important;
  }
}


/* ==========================================================================
   SHARED PUBLIC TYPOGRAPHY / DESKTOP MASTER
   Interface labels remain compact; paragraph and story copy scales up only
   on desktop, where 14px is too small for comfortable reading. Headings use
   role-based scales (page > section > subsection > card). The hero quote,
   navigation, footer controls and content editors keep their own settings.
   ========================================================================== */
body.cx-unified-chrome{
  --cx-uniform-copy:14px;
  --cx-uniform-reading-copy:var(--cx-uniform-copy);
  --cx-uniform-page-heading:clamp(42px,4.1vw,56px);
  --cx-uniform-section-heading:clamp(38px,3.7vw,50px);
  --cx-uniform-subheading:clamp(24px,2.15vw,30px);
  --cx-uniform-card-heading:clamp(21px,1.85vw,26px);
}
@media (min-width:1100px){
  body.cx-unified-chrome.cx-public-page{
    --cx-uniform-reading-copy:clamp(18px,1.38vw,21px);
  }
}
@media (min-width:601px) and (max-width:1099px){
  body.cx-unified-chrome{
    --cx-uniform-page-heading:clamp(40px,5.4vw,50px);
    --cx-uniform-section-heading:clamp(36px,5vw,44px);
    --cx-uniform-subheading:clamp(24px,3.3vw,28px);
    --cx-uniform-card-heading:clamp(21px,2.9vw,24px);
  }
}
@media (max-width:600px){
  body.cx-unified-chrome{
    --cx-uniform-page-heading:clamp(32px,9.1vw,38px);
    --cx-uniform-section-heading:clamp(29px,7.9vw,36px);
    --cx-uniform-subheading:clamp(21px,5.9vw,24px);
    --cx-uniform-card-heading:clamp(19px,5.35vw,22px);
  }
}
/* Body prose is larger on desktop, while eyebrow labels, links and
   buttons retain their compact 14px hierarchy. Nothing here affects the hero. */
body.cx-public-page main > section:not(.hero) :is(
  p:not(.cx-created-heading),
  li:not(.cx-created-heading),blockquote,.rich-text,.card-summary,
  .art-archive-description,.commission-text,.whispers-guidelines,
  .whispers-privacy
){
  font-size:var(--cx-uniform-reading-copy)!important;
  line-height:1.55!important;
}
body.cx-public-page main > section:not(.hero) :is(
  .filmstrip-label,.eyebrow,.home-section-eyebrow,.text-link,
  .section-heading > a,.collection-heading > span
){
  font-size:var(--cx-uniform-copy)!important;
  line-height:1.55!important;
}
/* Buttons retain compact 14px labels without changing their touch-target size. */
body.cx-public-page main > section:not(.hero) :is(.btn,.btn-small,button:not(.filmstrip-arrow):not(.home-writing-next):not(.home-writing-prev):not(.art-open)){
  font-size:var(--cx-uniform-copy)!important;
}
/* Top-level page headings retain their role above section headings. */
body.cx-public-page main :is(
  .page-banner h1,.detail-copy > h1,.detail-top h1,
  .whispers-page h1
){
  font-size:var(--cx-uniform-page-heading)!important;
  line-height:1.13!important;
}
/* Every full-section heading uses the same size and line-height. */
body.cx-public-page main :is(
  .section-intro > h2,.home-commission-copy > h2,.home-about-heading > h2,
  .whispers-card-centered > h3,.whispers-intro > h2,.connect-section h2,
  .contact-content h2,.commission-platforms .section-intro h2
),
body.cx-unified-chrome footer.footer .footer-connect-title{
  font-size:var(--cx-uniform-section-heading)!important;
  line-height:1.15!important;
  letter-spacing:.035em!important;
}
/* Include the designer-added Whisper title, which may live outside its
   original section on desktop but is rehomed on tablet/phone. */
body.cx-homepage.cx-public-page main .cx-primary-whispers-heading,
body.cx-homepage.cx-public-page main .whispers-invite-section .whispers-card-centered > .cx-primary-whispers-heading{
  font-size:var(--cx-uniform-section-heading)!important;
  line-height:1.15!important;
  letter-spacing:.035em!important;
}
/* Section subheads and archive headings share a second uniform tier. */
body.cx-public-page main :is(
  .section-heading > h2,.section-heading > h3,.collection-heading > h2,
  .home-about-copy > h3,.dark-section-title h2,.text-section > .shell > h2,
  .commission-platforms h3
){
  font-size:var(--cx-uniform-subheading)!important;
  line-height:1.2!important;
}
/* Titles within project and artwork cards are smaller by design. */
body.cx-public-page main :is(
  .writing-info h3,.art-archive-info h3,.art-caption h3,
  .commission-inline-card h3,.commission-platform-card h4
){
  font-size:var(--cx-uniform-card-heading)!important;
  line-height:1.2!important;
}
/* Inline authoring styles on heading descendants must not accidentally give
   a card title's linked text a different apparent size. */
body.cx-public-page main :is(.writing-info h3 a,.art-archive-info h3 a){
  font-size:inherit!important;
}
/* Preserve the current short homepage teaser. Text sizing must not expose
   the entire archive summary or overlap the carousel controls. */
@media (max-width:600px){
  body.cx-homepage.cx-public-page main .home-featured-writing .card-summary{
    line-height:1.55!important;
    max-height:7.75em!important;
  }
}

/* ==========================================================================
   DESKTOP-ONLY READING SCALE | 2026-10-27
   Desktop is the design master. This layer deliberately starts at 1100px,
   leaving the existing 601–1099px tablet and <=600px phone presentation
   exactly as authored. Do not use transform:scale or global zoom.
   ========================================================================== */
@media (min-width:1100px){
  body.cx-unified-chrome.cx-public-page{
    --cx-uniform-copy:16px;
    --cx-uniform-reading-copy:clamp(20px,1.5vw,23px);
    --cx-uniform-page-heading:clamp(52px,4.45vw,66px);
    --cx-uniform-section-heading:clamp(44px,3.9vw,58px);
    --cx-uniform-subheading:clamp(29px,2.4vw,36px);
    --cx-uniform-card-heading:clamp(25px,2vw,31px);
    --cx-desktop-nav:16px;
    --cx-desktop-small:14px;
  }
  /* Navigation stays readable on all desktop pages, without changing layout. */
  body.cx-unified-chrome.cx-public-page .site-header .nav a{
    font-size:var(--cx-desktop-nav)!important;
  }
  /* Preserve desktop brand hierarchy without the tiny subtitle. */
  body.cx-unified-chrome.cx-public-page .site-header .brand-sub{
    font-size:var(--cx-desktop-small)!important;
  }
  /* Hero quotations retain their authored size; secondary copy does not. */
  body.cx-homepage.cx-public-page main .hero :is(.hero-desc,.hero-desc p){
    font-size:var(--cx-uniform-reading-copy)!important;
    line-height:1.55!important;
  }
  body.cx-homepage.cx-public-page main .hero :is(.hero-overline,.hero-kicker,.hero-footnote){
    font-size:var(--cx-uniform-copy)!important;
    line-height:1.5!important;
  }
  body.cx-homepage.cx-public-page main .hero .btn{
    font-size:var(--cx-uniform-copy)!important;
  }
  /* Small-print remains visually subordinate but no longer microscopic. */
  body.cx-unified-chrome.cx-public-page footer.footer :is(
    .footer-center,.footer-inner > small,.footer-brand small,
    .cx-footer-copyright,.studio-footer-link
  ){
    font-size:var(--cx-desktop-small)!important;
  }
  body.cx-unified-chrome.cx-public-page footer.footer .footer-connect-socials .social-label{
    font-size:var(--cx-desktop-small)!important;
  }
  /* Descriptive copy in the guestbook and archive shares the reading tier. */
  body.cx-public-page main > section:not(.hero) :is(
    .whispers-panel p,.whispers-panel label,.whispers-notice,
    .whispers-characters,.contact-content .rich-text,
    .home-commission-description,.home-about-paragraphs
  ){
    font-size:var(--cx-uniform-reading-copy)!important;
  }
}
