:root{
  --paper:#eee7db;
  --paper-2:#f8f3ea;
  --green:#18281f;
  --green-soft:#7d735f;
  --ink:#171b18;
  --muted:#5f655d;
  --line:#d4c8b5;
  --accent:#8c6a31;
  --accent-soft:#b69a68;
  --frame:#e3d8c7;
  --shadow:0 24px 72px rgba(16,22,18,.09);
  --nav-border:rgba(31,52,40,.14);
  --nav-bg:rgba(248,243,234,.88);
  --hero-frame-1:#e7dece;
  --hero-frame-2:#ddd2bf;
  --hero-image-bg:#ece2d2;
  --chip-border:rgba(140,106,49,.18);
  --chip-bg:rgba(255,251,245,.72);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.3),rgba(232,223,208,.36));
  --asset-plus-border:rgba(140,106,49,.2);
  --asset-plus-bg:rgba(255,250,242,.78);
  --asset-card-bg:#e7e0d2;
  --asset-card-border:rgba(140,106,49,.12);
}
body.theme-grove{}
body.theme-cork{
  --paper:#f4eee2;
  --paper-2:#fbf8f1;
  --green:#274437;
  --green-soft:#7f725f;
  --ink:#1f231d;
  --muted:#625d54;
  --line:#d8ccb9;
  --accent:#8f6a37;
  --accent-soft:#b59362;
  --frame:#e4dccf;
  --nav-border:rgba(39,68,55,.14);
  --nav-bg:rgba(251,248,241,.9);
  --hero-frame-1:#dfe6de;
  --hero-frame-2:#d2ddd1;
  --hero-image-bg:#f4efe5;
  --chip-border:rgba(143,106,55,.16);
  --chip-bg:rgba(255,251,245,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.3),rgba(228,219,205,.46));
  --asset-plus-border:rgba(143,106,55,.18);
  --asset-plus-bg:rgba(255,250,242,.82);
  --asset-card-bg:#e6ddd0;
  --asset-card-border:rgba(143,106,55,.1);
}
body.theme-gallery{
  --paper:#f1eee8;
  --paper-2:#faf8f3;
  --green:#22332a;
  --green-soft:#798272;
  --ink:#1d221e;
  --muted:#646b63;
  --line:#d3d1c8;
  --accent:#7b8f7a;
  --accent-soft:#aebd9d;
  --frame:#dde3dc;
  --nav-border:rgba(34,51,42,.12);
  --nav-bg:rgba(250,248,243,.9);
  --hero-frame-1:#dbe3db;
  --hero-frame-2:#ccd8ce;
  --hero-image-bg:#eef2ec;
  --chip-border:rgba(123,143,122,.16);
  --chip-bg:rgba(250,248,243,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.34),rgba(220,228,220,.45));
  --asset-plus-border:rgba(123,143,122,.18);
  --asset-plus-bg:rgba(250,248,243,.82);
  --asset-card-bg:#dde5de;
  --asset-card-border:rgba(123,143,122,.1);
}
body.theme-aqua{
  --paper:#edf3f3;
  --paper-2:#f7fbfb;
  --green:#203637;
  --green-soft:#688081;
  --ink:#1c2324;
  --muted:#5f6d6e;
  --line:#cfdcdd;
  --accent:#4c7f88;
  --accent-soft:#8fb8bc;
  --frame:#d7e8ea;
  --nav-border:rgba(32,54,55,.12);
  --nav-bg:rgba(247,251,251,.9);
  --hero-frame-1:#d9eaec;
  --hero-frame-2:#c4dadd;
  --hero-image-bg:#edf5f6;
  --chip-border:rgba(76,127,136,.16);
  --chip-bg:rgba(247,251,251,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.34),rgba(212,231,233,.5));
  --asset-plus-border:rgba(76,127,136,.18);
  --asset-plus-bg:rgba(247,251,251,.82);
  --asset-card-bg:#d8e8ea;
  --asset-card-border:rgba(76,127,136,.1);
}
body.theme-sanctuary{
  --paper:#f4efe6;
  --paper-2:#fbf8f2;
  --green:#2a3128;
  --green-soft:#85755f;
  --ink:#221f1a;
  --muted:#676055;
  --line:#d8cebf;
  --accent:#a87939;
  --accent-soft:#d0b27d;
  --frame:#e7ddd0;
  --nav-border:rgba(42,49,40,.12);
  --nav-bg:rgba(251,248,242,.9);
  --hero-frame-1:#eadfce;
  --hero-frame-2:#dccbb5;
  --hero-image-bg:#f2e8d8;
  --chip-border:rgba(168,121,57,.16);
  --chip-bg:rgba(255,250,242,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.32),rgba(235,224,206,.5));
  --asset-plus-border:rgba(168,121,57,.18);
  --asset-plus-bg:rgba(255,250,242,.82);
  --asset-card-bg:#e7dbc9;
  --asset-card-border:rgba(168,121,57,.1);
}
body[data-visual-tone="cork"]{
  --paper:#f5efe4;
  --paper-2:#fcf8f0;
  --green:#2b4034;
  --green-soft:#7b705d;
  --ink:#20231d;
  --muted:#665f55;
  --line:#d9cebd;
  --accent:#987440;
  --accent-soft:#5b7260;
  --frame:#e7ddcf;
  --nav-border:rgba(43,64,52,.14);
  --nav-bg:rgba(252,248,240,.9);
  --hero-frame-1:#e9e0d1;
  --hero-frame-2:#ddd1bf;
  --hero-image-bg:#f6efe4;
  --chip-border:rgba(152,116,64,.16);
  --chip-bg:rgba(255,251,245,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.3),rgba(233,223,207,.48));
  --asset-plus-border:rgba(152,116,64,.18);
  --asset-plus-bg:rgba(255,250,242,.82);
  --asset-card-bg:#e8dece;
  --asset-card-border:rgba(152,116,64,.1);
}
body[data-visual-tone="moss"],
body[data-visual-tone="leaf"]{
  --paper:#eef3ea;
  --paper-2:#fafcf8;
  --green:#21372b;
  --green-soft:#6f7c6b;
  --ink:#1d221e;
  --muted:#606861;
  --line:#d3dbd0;
  --accent:#5d745f;
  --accent-soft:#96a97d;
  --frame:#dce5d9;
  --nav-border:rgba(33,55,43,.14);
  --nav-bg:rgba(250,252,248,.9);
  --hero-frame-1:#dfe8dc;
  --hero-frame-2:#d0ddd0;
  --hero-image-bg:#f4f8f2;
  --chip-border:rgba(93,116,95,.16);
  --chip-bg:rgba(250,252,248,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.34),rgba(220,229,219,.48));
  --asset-plus-border:rgba(93,116,95,.18);
  --asset-plus-bg:rgba(250,252,248,.82);
  --asset-card-bg:#dde6de;
  --asset-card-border:rgba(93,116,95,.1);
}
body[data-visual-tone="sand"],
body[data-visual-tone="seedpaper"]{
  --paper:#f5efe2;
  --paper-2:#fcf8f0;
  --green:#28372f;
  --green-soft:#7b705f;
  --ink:#24221d;
  --muted:#6a6359;
  --line:#ddd1bf;
  --accent:#8d6d45;
  --accent-soft:#b59c72;
  --frame:#e7dccb;
  --nav-border:rgba(40,55,47,.13);
  --nav-bg:rgba(252,248,240,.9);
  --hero-frame-1:#e8decd;
  --hero-frame-2:#dcccba;
  --hero-image-bg:#f6efe2;
  --chip-border:rgba(141,109,69,.16);
  --chip-bg:rgba(255,251,245,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.32),rgba(233,223,206,.48));
  --asset-plus-border:rgba(141,109,69,.18);
  --asset-plus-bg:rgba(255,250,242,.82);
  --asset-card-bg:#e7dccb;
  --asset-card-border:rgba(141,109,69,.1);
}
body[data-visual-tone="mist"],
body[data-visual-tone="stone"]{
  --paper:#f1f0eb;
  --paper-2:#faf9f5;
  --green:#27302a;
  --green-soft:#76746d;
  --ink:#1f2420;
  --muted:#666861;
  --line:#d7d5cb;
  --accent:#76716a;
  --accent-soft:#a8a290;
  --frame:#e2e0d7;
  --nav-border:rgba(39,48,42,.12);
  --nav-bg:rgba(250,249,245,.9);
  --hero-frame-1:#e4e3dc;
  --hero-frame-2:#d6d4cb;
  --hero-image-bg:#f6f6f2;
  --chip-border:rgba(118,113,106,.16);
  --chip-bg:rgba(250,249,245,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.32),rgba(228,227,220,.45));
  --asset-plus-border:rgba(118,113,106,.18);
  --asset-plus-bg:rgba(250,249,245,.82);
  --asset-card-bg:#e3e2da;
  --asset-card-border:rgba(118,113,106,.1);
}
body[data-visual-tone="aqua"]{
  --paper:#edf4f4;
  --paper-2:#f8fcfc;
  --green:#213739;
  --green-soft:#688081;
  --ink:#1c2324;
  --muted:#5f6d6e;
  --line:#cfddde;
  --accent:#4f8189;
  --accent-soft:#8fb7bb;
  --frame:#d7e8ea;
  --nav-border:rgba(33,55,57,.12);
  --nav-bg:rgba(248,252,252,.9);
  --hero-frame-1:#d9eaec;
  --hero-frame-2:#c7dbdd;
  --hero-image-bg:#eef6f6;
  --chip-border:rgba(79,129,137,.16);
  --chip-bg:rgba(248,252,252,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.34),rgba(214,232,233,.48));
  --asset-plus-border:rgba(79,129,137,.18);
  --asset-plus-bg:rgba(248,252,252,.82);
  --asset-card-bg:#d9e8ea;
  --asset-card-border:rgba(79,129,137,.1);
}
body[data-visual-tone="kumkum"]{
  --paper:#faf4eb;
  --paper-2:#fffaf4;
  --green:#5f2a35;
  --green-soft:#b18c55;
  --ink:#2a201b;
  --muted:#74665f;
  --line:#e1d2c7;
  --accent:#8c3342;
  --accent-soft:#d4a46d;
  --frame:#eadbce;
  --nav-border:rgba(95,42,53,.14);
  --nav-bg:rgba(255,250,244,.9);
  --hero-frame-1:#ead8cf;
  --hero-frame-2:#ddcabf;
  --hero-image-bg:#fbf2e8;
  --chip-border:rgba(140,51,66,.16);
  --chip-bg:rgba(255,251,245,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.32),rgba(239,226,214,.48));
  --asset-plus-border:rgba(140,51,66,.18);
  --asset-plus-bg:rgba(255,250,242,.82);
  --asset-card-bg:#eadace;
  --asset-card-border:rgba(140,51,66,.1);
}
body[data-visual-tone="charcoal"]{
  --paper:#f1ece4;
  --paper-2:#faf6ee;
  --green:#202520;
  --green-soft:#7a7161;
  --ink:#1b1f1c;
  --muted:#66625c;
  --line:#d6cdbf;
  --accent:#74664c;
  --accent-soft:#a79478;
  --frame:#e3d8ca;
  --nav-border:rgba(32,37,32,.12);
  --nav-bg:rgba(250,246,238,.9);
  --hero-frame-1:#e4dbce;
  --hero-frame-2:#d4c8b8;
  --hero-image-bg:#f7f0e5;
  --chip-border:rgba(116,102,76,.16);
  --chip-bg:rgba(255,251,245,.82);
  --asset-library-bg:linear-gradient(180deg,rgba(255,255,255,.32),rgba(230,221,206,.48));
  --asset-plus-border:rgba(116,102,76,.18);
  --asset-plus-bg:rgba(255,250,242,.82);
  --asset-card-bg:#e4d9ca;
  --asset-card-border:rgba(116,102,76,.1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Manrope,system-ui,sans-serif;
  color:var(--ink);
  background:
    linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0) 18%),
    linear-gradient(180deg,var(--paper-2),var(--paper));
}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit}
button{font:inherit}
.nav{
  position:fixed;
  top:12px;
  right:12px;
  z-index:20;
  display:flex;
  gap:8px;
}
.nav a{
  text-decoration:none;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  border:1px solid var(--nav-border);
  border-radius:999px;
  background:var(--nav-bg);
  backdrop-filter:blur(10px);
  font-size:12px;
  font-weight:800;
  color:var(--green);
  box-shadow:0 8px 18px rgba(21,28,23,.05);
}
section{padding:40px 20px}
.inner{
  width:min(1240px,100%);
  margin:0 auto;
}
.hero{
  min-height:auto;
  display:grid;
  align-items:start;
  padding:76px 20px 28px;
}
.hero-grid{
  display:grid;
  grid-template-columns:.94fr 1.06fr;
  gap:28px;
  align-items:center;
}
.hero-visual{
  border-radius:18px;
  background:linear-gradient(180deg,var(--hero-frame-1),var(--hero-frame-2));
  padding:14px;
  border:1px solid rgba(140,106,49,.16);
  box-shadow:var(--shadow);
}
.hero-visual img{
  border-radius:12px;
  aspect-ratio:1.08/1;
  background:var(--hero-image-bg);
}
.hero-placeholder{
  width:100%;
  min-height:100%;
  aspect-ratio:1.08/1;
  display:grid;
  align-content:center;
  justify-items:start;
  gap:14px;
  padding:clamp(26px,4vw,38px);
  border-radius:12px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.34)),
    linear-gradient(135deg,color-mix(in srgb,var(--hero-frame-1) 88%, white),color-mix(in srgb,var(--paper) 82%, white));
}
.hero-placeholder-kicker{
  color:var(--accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-placeholder strong{
  max-width:12ch;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(28px,3.2vw,44px);
  font-weight:600;
  line-height:.92;
  color:var(--ink);
}
.hero-placeholder-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.hero-placeholder-chips span{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--chip-border);
  background:var(--chip-bg);
  color:var(--green);
  font-size:12px;
  font-weight:800;
}
.eyebrow{
  color:var(--accent);
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
h1,h2,h3{
  margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600;
  line-height:.9;
  letter-spacing:0;
}
h1{
  margin-top:14px;
  font-size:clamp(50px,5vw,82px);
  max-width:none;
  line-height:.92;
  text-wrap:pretty;
}
.subtitle{
  margin-top:16px;
  max-width:28ch;
  color:var(--muted);
  font-size:clamp(18px,1.75vw,21px);
  line-height:1.52;
}
.intro{
  margin-top:18px;
  max-width:42ch;
  color:#434940;
  font-size:15px;
  line-height:1.7;
}
.chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
.chips span{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--chip-border);
  background:var(--chip-bg);
  color:#3f433d;
  font-size:12px;
  font-weight:800;
}
.section-head{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-items:end;
  margin-bottom:32px;
}
.section-head h2{
  font-size:clamp(32px,3.6vw,50px);
}
h2{
  font-size:clamp(34px,4vw,56px);
  max-width:none;
  line-height:.96;
  text-wrap:pretty;
}
.asset-library{
  background:var(--asset-library-bg);
}
.asset-top{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  margin-bottom:18px;
}
.asset-group summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
  min-height:78px;
  padding:16px 0;
}
.asset-group summary::-webkit-details-marker{display:none}
.asset-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  column-gap:10px;
  row-gap:4px;
}
.asset-group b{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:24px;
  font-weight:600;
}
.asset-group span{
  color:var(--muted);
  font-size:13px;
}
.asset-desc:before{
  content:":";
  margin-right:8px;
  color:var(--muted);
}
.asset-plus{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid var(--asset-plus-border);
  display:grid;
  place-items:center;
  color:var(--accent);
  background:var(--asset-plus-bg);
  font-size:20px;
  line-height:1;
}
.asset-group[open] .asset-plus{transform:rotate(45deg)}
.asset-panel{padding:0 0 18px}
.asset-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.asset-card{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:var(--asset-card-bg);
  aspect-ratio:1/1;
  box-shadow:var(--shadow);
  border:1px solid var(--asset-card-border);
}
.asset-figure{
  margin:0;
  width:100%;
  height:100%;
  cursor:zoom-in;
}
.asset-actions{
  position:absolute;
  top:12px;
  right:12px;
  display:flex;
  gap:8px;
}
.asset-btn{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(31,52,40,.12);
  background:rgba(255,252,246,.94);
  display:grid;
  place-items:center;
  box-shadow:0 8px 20px rgba(24,31,26,.1);
}
.asset-btn svg{
  width:16px;
  height:16px;
  stroke:var(--green);
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.asset-lightbox{
  position:fixed;
  inset:0;
  z-index:50;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:28px;
  background:rgba(14,18,15,.88);
  backdrop-filter:blur(8px);
}
.asset-lightbox[hidden]{display:none}
.lightbox-open{overflow:hidden}
.lightbox-figure{
  margin:0;
  width:min(1100px,100%);
  justify-self:center;
}
.lightbox-figure img{
  width:100%;
  max-height:78vh;
  object-fit:contain;
  border-radius:18px;
  background:#171c19;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
}
.lightbox-figure figcaption{
  margin-top:10px;
  color:#f1ede6;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  text-align:center;
}
.lightbox-control{
  border:0;
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:32px;
  line-height:1;
}
.lightbox-close{
  position:absolute;
  top:16px;
  right:16px;
  width:44px;
  height:44px;
  font-size:28px;
}
.story-shell{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:32px;
  align-items:start;
}
.story-copy p{
  margin:18px 0 0;
  color:var(--muted);
  line-height:1.72;
  font-size:16px;
  max-width:44ch;
}
.story-facts{
  border:1px solid rgba(140,106,49,.16);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,250,242,.6);
  box-shadow:0 12px 32px rgba(20,27,22,.04);
}
.story-facts article{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:22px;
  padding:18px 22px;
}
.story-facts article + article{
  border-top:1px solid rgba(140,106,49,.14);
}
.story-facts b{
  color:var(--accent);
  font-size:12px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.story-facts p{
  margin:0;
  color:#49524b;
  line-height:1.66;
  font-size:15px;
}
.component-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.component{
  border:1px solid rgba(140,106,49,.14);
  border-radius:16px;
  background:rgba(255,251,246,.68);
  padding:18px;
  min-height:200px;
  box-shadow:0 10px 28px rgba(18,24,20,.04);
}
.component small{
  color:var(--accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.component h3{
  margin-top:8px;
  font-size:31px;
}
.component p{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.58;
  font-size:14px;
}
.flow{
  background:var(--green);
  color:#f5efe6;
}
.flow .eyebrow{color:#d8bd87}
.flow-head{
  display:grid;
  grid-template-columns:.96fr 1.04fr;
  gap:22px;
  align-items:end;
  margin-bottom:18px;
}
.flow-head p{
  margin:0;
  color:#d2ddd4;
  line-height:1.6;
  font-size:15px;
  max-width:720px;
}
.flow-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.flow-card{
  border-radius:16px;
  padding:20px;
  min-height:186px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(216,189,135,.14);
}
.flow-card span{
  display:inline-flex;
  color:#d8bd87;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.flow-card h3{
  margin-top:12px;
  font-size:34px;
  color:#fff9f0;
}
.flow-card p{
  margin-top:10px;
  color:#d7e2d9;
  line-height:1.6;
  font-size:14px;
}
.details{
  padding-bottom:72px;
}
.details h2{
  max-width:none;
  white-space:nowrap;
  font-size:clamp(32px,3.7vw,56px);
  margin-top:6px;
  margin-bottom:22px;
}
.details-grid{
  border-top:1px solid rgba(140,106,49,.16);
}
.row{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:24px;
  padding:14px 0;
  border-bottom:1px solid rgba(140,106,49,.14);
}
.row b{
  color:var(--accent);
  font-size:13px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.row div{
  color:#40473f;
  line-height:1.62;
  font-size:15px;
}
.price-line{
  display:grid;
  grid-template-columns:max-content max-content;
  justify-content:start;
  align-items:center;
  column-gap:34px;
  row-gap:8px;
  font-weight:800;
  color:var(--ink);
}
.price-line strong{font-weight:800}
body.theme-cork .flow{
  background:#294136;
}
body.theme-cork .flow .eyebrow,
body.theme-cork .flow-card span{
  color:#d3bc8a;
}
body.theme-cork .flow-head p,
body.theme-cork .flow-card p{
  color:#d6dfd8;
}
body.theme-cork .flow-card{
  background:rgba(255,255,255,.07);
  border-color:rgba(211,188,138,.14);
}
body.theme-gallery .flow{
  background:#22342b;
}
body.theme-gallery .flow .eyebrow,
body.theme-gallery .flow-card span{
  color:#c7d8c3;
}
body.theme-gallery .flow-head p,
body.theme-gallery .flow-card p{
  color:#d8e1d8;
}
body.theme-gallery .flow-card{
  background:rgba(255,255,255,.06);
  border-color:rgba(174,189,157,.16);
}
body.theme-aqua .flow{
  background:#23383b;
}
body.theme-aqua .flow .eyebrow,
body.theme-aqua .flow-card span{
  color:#9fd0d4;
}
body.theme-aqua .flow-head p,
body.theme-aqua .flow-card p{
  color:#d3e3e4;
}
body.theme-aqua .flow-card{
  background:rgba(255,255,255,.06);
  border-color:rgba(159,208,212,.15);
}
body.theme-sanctuary .flow{
  background:#2b3027;
}
body.theme-sanctuary .flow .eyebrow,
body.theme-sanctuary .flow-card span{
  color:#d9bf88;
}
body.theme-sanctuary .flow-head p,
body.theme-sanctuary .flow-card p{
  color:#ddd7cd;
}
body.theme-sanctuary .flow-card{
  background:rgba(255,255,255,.06);
  border-color:rgba(217,191,136,.15);
}
body.theme-cork .details{
  background:linear-gradient(180deg,#f6efe3,#eee4d4);
}
body.theme-gallery .details{
  background:linear-gradient(180deg,#f3f1eb,#e7ece7);
}
body.theme-aqua .details{
  background:linear-gradient(180deg,#eef5f5,#dfeff0);
}
body.theme-sanctuary .details{
  background:linear-gradient(180deg,#f5efe6,#eadfcf);
}
body.theme-cork .details h2,
body.theme-gallery .details h2,
body.theme-aqua .details h2,
body.theme-sanctuary .details h2{
  color:var(--ink);
}
body.theme-cork .row b,
body.theme-gallery .row b,
body.theme-aqua .row b,
body.theme-sanctuary .row b{
  color:var(--accent);
}
body.theme-cork .row div,
body.theme-gallery .row div,
body.theme-aqua .row div,
body.theme-sanctuary .row div,
body.theme-cork .price-line,
body.theme-gallery .price-line,
body.theme-aqua .price-line,
body.theme-sanctuary .price-line{
  color:#40473f;
}
.error{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:40px 20px;
}
.error .card{
  width:min(720px,100%);
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.62);
  padding:28px;
  box-shadow:var(--shadow);
}
.error h1{
  font-size:clamp(40px,5vw,64px);
}
.error p{
  margin:16px 0 0;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
@media (max-width: 980px){
  .hero-grid,.section-head,.asset-top,.story-shell,.component-grid,.flow-grid,.flow-head{grid-template-columns:1fr}
  .asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row,.story-facts article{grid-template-columns:1fr;gap:10px}
  .hero{min-height:auto}
  .asset-lightbox{
    grid-template-columns:1fr;
    padding:18px;
  }
  .lightbox-control:not(.lightbox-close){
    position:absolute;
    top:50%;
    transform:translateY(-50%);
  }
  .lightbox-prev{left:12px}
  .lightbox-next{right:12px}
  .lightbox-close{
    top:12px;
    right:12px;
    transform:none;
  }
  .price-line{
    grid-template-columns:1fr;
    row-gap:6px;
  }
}
@media (max-width: 640px){
  .hero{padding-top:76px}
  h1{font-size:50px;max-width:12ch;line-height:.92}
  h2{font-size:44px}
  .asset-grid{grid-template-columns:1fr}
  .asset-card{aspect-ratio:1/1}
  .component{min-height:auto}
  .flow-card{min-height:auto}
  .nav a{padding:0 12px}
  .details h2{white-space:normal}
}
