/*
Theme Name: Rollar Wolf Photography
Theme URI: https://rollarwolfphotography.com/
Description: Bold, colorful Blocksy child theme for Rollar Wolf Photography. Designed for photography portfolios, furry events, and creative work.
Author: Rollar Wolf Photography
Template: blocksy
Version: 1.6.3
Text Domain: rollarwolf-blocksy-child
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/*
 * STEP 3 | Site-wide brand layer.
 * Set the same colors in Appearance > Customize > General Options > Colors.
 * Keep page composition in Gutenberg; no parent theme files are overridden.
 */
:root {
  --rwp-night: #0B1020;
  --rwp-navy: #151A32;
  --rwp-navy-light: #1F2844;
  --rwp-cyan: #00D9F5;
  --rwp-violet: #A855F7;
  --rwp-pink: #FF4DA8;
  --rwp-gold: #FFCC57;
  --rwp-white: #FFFFFF;
  --rwp-text: #DCE6F4;
  --rwp-muted: #A9BBD0;
  --rwp-line: #34405F;
  --rwp-radius: 18px;
  --rwp-gradient: linear-gradient(110deg, var(--rwp-cyan) 0%, var(--rwp-violet) 55%, var(--rwp-pink) 100%);
}

/* The surrounding canvas. Keep custom page block backgrounds free to override. */
body.rwp-theme {
  background-color: var(--rwp-night);
  color: var(--rwp-text);
}
body.rwp-theme #main-container {
  background-color: var(--rwp-night);
}
body.rwp-theme ::selection {
  background-color: var(--rwp-cyan);
  color: var(--rwp-night);
}
body.rwp-theme :is(h1, h2, h3, h4, h5, h6) {
  color: var(--rwp-white);
}
body.rwp-theme a:focus-visible,
body.rwp-theme button:focus-visible,
body.rwp-theme input:focus-visible,
body.rwp-theme textarea:focus-visible {
  outline: 3px solid var(--rwp-gold);
  outline-offset: 3px;
}

/* Header: simple neon line, not a replacement header template. */
body.rwp-theme .ct-header [data-row="middle"] {
  background-color: var(--rwp-night);
  background-image: linear-gradient(90deg, var(--rwp-cyan), var(--rwp-violet), var(--rwp-pink));
  background-size: 100% 3px;
  background-position: left bottom;
  background-repeat: no-repeat;
}
body.rwp-theme .ct-header .menu > li > a {
  color: #F4F8FF;
  font-weight: 700;
}
body.rwp-theme .ct-header .menu > li > a:hover,
body.rwp-theme .ct-header .menu > li.current-menu-item > a,
body.rwp-theme .ct-header .menu > li.current-menu-ancestor > a {
  color: var(--rwp-cyan);
}

/* Colorful CTA buttons, with accessible text contrast. */
body.rwp-theme .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body.rwp-theme a.ct-button,
body.rwp-theme button.ct-button,
body.rwp-theme input[type="submit"] {
  border-radius: 12px;
  background: linear-gradient(112deg, var(--rwp-cyan), #2DBCF6);
  color: #061225;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 8px 26px rgba(0, 217, 245, .12);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body.rwp-theme .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
body.rwp-theme a.ct-button:hover,
body.rwp-theme button.ct-button:hover,
body.rwp-theme input[type="submit"]:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 12px 30px rgba(0, 217, 245, .22);
}
body.rwp-theme .wp-block-button.is-style-outline .wp-block-button__link {
  color: var(--rwp-white);
  border: 2px solid var(--rwp-cyan);
  border-radius: 12px;
  background: rgba(11,16,32,.55);
  transition: background .2s ease;
}
body.rwp-theme .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(0,217,245,.12);
}

/* Optional reusable classes for Gutenberg sections (Step 4 homepage). */
body.rwp-theme .rwp-section {
  padding-top: clamp(48px, 6vw, 88px);
  padding-bottom: clamp(48px, 6vw, 88px);
}
body.rwp-theme .rwp-kicker {
  color: var(--rwp-cyan);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.rwp-theme .rwp-gradient-text {
  background: var(--rwp-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
body.rwp-theme .rwp-rule {
  height: 3px;
  border: 0;
  border-radius: 8px;
  background: var(--rwp-gradient);
}
body.rwp-theme .rwp-card {
  overflow: hidden;
  background: var(--rwp-navy);
  border: 1px solid var(--rwp-line);
  border-radius: var(--rwp-radius);
  box-shadow: 0 10px 28px rgba(0,0,0,.20);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
body.rwp-theme .rwp-card:hover {
  transform: translateY(-4px);
  border-color: var(--rwp-cyan);
  box-shadow: 0 12px 36px rgba(0,217,245,.13);
}
body.rwp-theme .rwp-photo-frame {
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
}
body.rwp-theme .rwp-photo-frame img {
  display: block;
  width: 100%;
  transition: transform .45s ease;
}
body.rwp-theme .rwp-photo-frame:hover img {
  transform: scale(1.035);
}
body.rwp-theme .rwp-glow {
  background: radial-gradient(circle at 15% 0%, rgba(168,85,247,.18), transparent 45%),
              radial-gradient(circle at 90% 30%, rgba(0,217,245,.12), transparent 40%),
              var(--rwp-night);
}
body.rwp-theme .rwp-highlight {
  background: linear-gradient(115deg, rgba(0,217,245,.10), rgba(168,85,247,.12), rgba(255,77,168,.10));
  border: 1px solid rgba(168,85,247,.32);
  border-radius: var(--rwp-radius);
}

/* WordPress native gallery/photo blocks. The photography should remain the focus. */
body.rwp-theme .wp-block-gallery img,
body.rwp-theme .wp-block-image img {
  border-radius: 12px;
}
body.rwp-theme .wp-block-gallery .wp-block-image {
  overflow: hidden;
  border-radius: 12px;
}

/* Footer keeps the same midnight treatment. */
body.rwp-theme .ct-footer {
  background-color: var(--rwp-night);
  border-top: 1px solid var(--rwp-line);
}

@media (max-width: 999px) {
  body.rwp-theme .rwp-section {
    padding-top: 44px;
    padding-bottom: 44px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.rwp-theme .rwp-card,
  body.rwp-theme .rwp-photo-frame img,
  body.rwp-theme .wp-block-button__link,
  body.rwp-theme .ct-button {
    transition: none;
  }
  body.rwp-theme .rwp-card:hover,
  body.rwp-theme .rwp-photo-frame:hover img,
  body.rwp-theme .wp-block-button__link:hover,
  body.rwp-theme .ct-button:hover {
    transform: none;
  }
}


/* =========================================
   STEP 4 | EDITABLE HOMEPAGE BLOCKS (v1.1)
   Scoped to .rwp-home only.
   ========================================= */
body.rwp-theme .rwp-home,
body.rwp-theme .rwp-home * { box-sizing: border-box; }
body.rwp-theme .rwp-home {
  --rwp-max: 1240px;
  --rwp-space: clamp(22px, 3vw, 42px);
  position: relative;
  max-width: none;
  color: var(--rwp-text);
  background: var(--rwp-night);
  margin-block: 0;
  overflow: clip;
}
body.rwp-theme .rwp-home > * { margin-block-start: 0; }
body.rwp-theme .rwp-home a { text-decoration: none; }
body.rwp-theme .rwp-home .rwp-eyebrow {
  color: var(--rwp-cyan); font-size: .76rem; font-weight: 800;
  letter-spacing: .16em; text-transform: uppercase; margin: 0 0 12px;
}
body.rwp-theme .rwp-home .rwp-section-title {
  font-size: clamp(1.9rem, 3.4vw, 3.1rem); line-height: 1.09;
  font-weight: 850; margin: 0 0 13px;
}
body.rwp-theme .rwp-home .rwp-section-intro {
  font-size: clamp(1rem, 1.3vw, 1.15rem); color: var(--rwp-muted);
  line-height: 1.65; max-width: 720px; margin: 0 0 25px;
}
body.rwp-theme .rwp-home .wp-block-columns { gap: 22px; margin-bottom: 0; }
body.rwp-theme .rwp-home .wp-block-column { min-width: 0; }
body.rwp-theme .rwp-home .wp-block-image { margin: 0; }
body.rwp-theme .rwp-home img { display:block; width:100%; height:100%; object-fit:cover; }
body.rwp-theme .rwp-home .wp-block-buttons { display:flex; gap: 12px; flex-wrap: wrap; }
body.rwp-theme .rwp-home .wp-block-button__link {
  padding: 14px 23px; border-radius: 12px; font-weight: 800;
  font-size: .98rem; line-height: 1.2; transition: transform .2s ease, box-shadow .2s ease;
}
body.rwp-theme .rwp-home .rwp-primary .wp-block-button__link {
  color: #071123; background: var(--rwp-cyan);
  border: 2px solid var(--rwp-cyan); box-shadow: 0 8px 30px rgba(0,217,245,.18);
}
body.rwp-theme .rwp-home .rwp-outline .wp-block-button__link {
  color: #fff; background: rgba(8,15,35,.35);
  border: 2px solid var(--rwp-cyan);
}
body.rwp-theme .rwp-home .wp-block-button__link:hover { transform: translateY(-2px); }

/* Hero */
body.rwp-theme .rwp-home .rwp-hero {
  position: relative; overflow:hidden;
  background: radial-gradient(ellipse at 70% 14%, rgba(165,82,247,.38), transparent 55%),
              radial-gradient(ellipse at 100% 88%, rgba(255,77,168,.22), transparent 40%),
              linear-gradient(126deg,#0b1129,#151035 65%,#11132f);
  border-bottom: 4px solid transparent;
  border-image: linear-gradient(90deg,var(--rwp-cyan),var(--rwp-violet),var(--rwp-pink)) 1;
}
body.rwp-theme .rwp-home .rwp-hero::before {
  content: ''; position: absolute; pointer-events:none;
  inset: 0; opacity:.25;
  background: radial-gradient(circle at 9% 28%,#ff4da8 0 5px,transparent 7px),radial-gradient(circle at 40% 20%,#00d9f5 0 4px,transparent 6px);
}
body.rwp-theme .rwp-home .rwp-hero-columns {
  max-width: var(--rwp-max); margin:0 auto; min-height: 535px;
  align-items:center; padding: clamp(38px,6vw,75px) var(--rwp-space);
  gap: clamp(25px,4vw,52px);
}
body.rwp-theme .rwp-home .rwp-hero-left { flex-basis: 52%; position:relative; z-index:2; }
body.rwp-theme .rwp-home .rwp-hero-right { flex-basis:48%; align-self:stretch; display:flex; align-items:center; }
body.rwp-theme .rwp-home .rwp-hero-title {
  font-weight: 900; font-size: clamp(2.5rem, 4.7vw, 4.85rem);
  line-height:1.055; letter-spacing:-.035em; margin:0 0 21px;
}
body.rwp-theme .rwp-home .rwp-hero-lede {
  max-width:550px; line-height:1.7; color:#e3eaf9; font-size:1.1rem; margin:0 0 27px;
}
body.rwp-theme .rwp-home .rwp-hero-photo { width:100%; aspect-ratio: 1.23; position:relative;
  transform:rotate(1.5deg); border:3px solid rgba(0,217,245,.55);
  border-radius:28px; overflow:hidden; box-shadow: -12px 20px 65px rgba(0,0,0,.38),0 0 65px rgba(168,85,247,.18);
}
body.rwp-theme .rwp-home .rwp-hero-photo img { object-position: center; }
body.rwp-theme .rwp-home .rwp-hero-photo::after { content:''; position:absolute;inset:0;
  pointer-events:none; background:linear-gradient(135deg,transparent 65%,rgba(255,77,168,.18)); }

/* Categories */
body.rwp-theme .rwp-home .rwp-section:not(.rwp-hero) {
  padding: clamp(48px,6vw,82px) var(--rwp-space);
}
body.rwp-theme .rwp-home .rwp-section > * { max-width: var(--rwp-max); margin-left:auto; margin-right:auto; }
body.rwp-theme .rwp-home .rwp-categories { background:linear-gradient(#0c1124,#0e1327); }
body.rwp-theme .rwp-home .rwp-category-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
body.rwp-theme .rwp-home .rwp-category-grid > .wp-block-column { width:auto; flex:none; }
body.rwp-theme .rwp-home .rwp-category-card {
  position:relative; padding:0 0 21px; height:100%;
  overflow:hidden; background:#171e37; border:1px solid rgba(123,147,190,.36);
  border-radius:18px; box-shadow:0 12px 24px rgba(0,0,0,.17);
  transition:transform .23s ease,border-color .23s ease;
}
body.rwp-theme .rwp-home .rwp-category-card:hover { transform:translateY(-5px);border-color:var(--rwp-cyan); }
body.rwp-theme .rwp-home .rwp-category-grid > .wp-block-column:nth-child(3n+2) .rwp-category-card { border-color:rgba(168,85,247,.52); }
body.rwp-theme .rwp-home .rwp-category-grid > .wp-block-column:nth-child(3n) .rwp-category-card { border-color:rgba(255,77,168,.50); }
body.rwp-theme .rwp-home .rwp-category-image { aspect-ratio:1.65; overflow:hidden; border:0; }
body.rwp-theme .rwp-home .rwp-category-image img { transition:transform .35s ease; }
body.rwp-theme .rwp-home .rwp-category-card:hover img { transform:scale(1.04); }
body.rwp-theme .rwp-home .rwp-category-title { font-size:1.26rem; font-weight:800;line-height:1.2; margin:17px 20px 5px; }
body.rwp-theme .rwp-home .rwp-category-sub { font-size:.9rem; color:var(--rwp-muted);margin:0 20px; }

/* Featured */
body.rwp-theme .rwp-home .rwp-featured { background:#0b1020; }
body.rwp-theme .rwp-home .rwp-featured-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px; }
body.rwp-theme .rwp-home .rwp-featured-grid > .wp-block-column { width:auto;flex:none; }
body.rwp-theme .rwp-home .rwp-featured-card { border-radius:14px;overflow:hidden; background:#141b34;
  border:1px solid rgba(255,255,255,.11);height:100%; }
body.rwp-theme .rwp-home .rwp-featured-image { aspect-ratio: 1.16; overflow:hidden; }
body.rwp-theme .rwp-home .rwp-featured-caption { padding:13px 15px 15px; margin:0; font-size:.92rem; color:#fff; font-weight:750; }

/* Alternating event and about sections */
body.rwp-theme .rwp-home .rwp-event { background:linear-gradient(110deg,#12102d,#151831 62%,#11243b); }
body.rwp-theme .rwp-home .rwp-about { background:linear-gradient(130deg,#10152d,#11122b); }
body.rwp-theme .rwp-home .rwp-split-grid { align-items:center;gap:clamp(32px,5vw,70px); }
body.rwp-theme .rwp-home .rwp-event-photo,
body.rwp-theme .rwp-home .rwp-about-photo { aspect-ratio: 1.38;overflow:hidden;border-radius:24px;
  border:2px solid rgba(0,217,245,.42);box-shadow:0 20px 50px rgba(0,0,0,.2); }
body.rwp-theme .rwp-home .rwp-about-photo { transform:rotate(-2deg);border-color:rgba(168,85,247,.68); }
body.rwp-theme .rwp-home .rwp-about-copy { padding:8px 0; }

/* Final booking/contact prompt */
body.rwp-theme .rwp-home .rwp-contact {
  text-align:center; position:relative;
  background: radial-gradient(circle at 10% 100%,rgba(0,217,245,.22),transparent 37%),
              radial-gradient(circle at 90% 0%,rgba(255,77,168,.30),transparent 46%),
              linear-gradient(105deg,#162549,#201445 70%,#3a164a);
  border-top:2px solid rgba(168,85,247,.35);border-bottom:4px solid var(--rwp-pink);
}
body.rwp-theme .rwp-home .rwp-contact-title { font-size:clamp(2.2rem,4vw,3.5rem);font-weight:900;line-height:1.1;margin:0 auto 15px;max-width:900px; }
body.rwp-theme .rwp-home .rwp-contact-lede { max-width:750px; margin:0 auto 26px; font-size:1.09rem;line-height:1.6; }
body.rwp-theme .rwp-home .rwp-contact-buttons { justify-content:center; }
body.rwp-theme .rwp-home .rwp-contact-footnote { font-size:.76rem;color:#c2c8df;margin:13px 0 0; }

/* Hide the page's duplicate title only on our installed homepage */
body.home.rwp-theme .entry-header:not(.rwp-home *),
body.home.rwp-theme .hero-section { display:none; }
body.home.rwp-theme .site-main,
body.home.rwp-theme .entry-content { padding-block:0; margin-block:0; }

@media (max-width: 1000px) {
 body.rwp-theme .rwp-home .rwp-hero-columns { min-height:0; }
 body.rwp-theme .rwp-home .rwp-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.rwp-theme .rwp-home .rwp-featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
 body.rwp-theme .rwp-home .rwp-hero-columns { display:flex;flex-direction:column;align-items:stretch;gap:29px; }
 body.rwp-theme .rwp-home .rwp-hero-left,body.rwp-theme .rwp-home .rwp-hero-right {flex-basis:auto;width:100%;}
 body.rwp-theme .rwp-home .rwp-hero-title {font-size:clamp(2.3rem,10vw,3.7rem);}
 body.rwp-theme .rwp-home .rwp-hero-photo {aspect-ratio:1.5;transform:none;}
 body.rwp-theme .rwp-home .rwp-category-grid {gap:12px;}
 body.rwp-theme .rwp-home .rwp-category-card {border-radius:12px;padding-bottom:15px;}
 body.rwp-theme .rwp-home .rwp-category-title {font-size:1rem;margin:12px 12px 5px;}
 body.rwp-theme .rwp-home .rwp-category-sub {font-size:.76rem;margin:0 12px;}
 body.rwp-theme .rwp-home .rwp-split-grid {display:flex;flex-direction:column;align-items:stretch;}
 body.rwp-theme .rwp-home .rwp-split-grid > .wp-block-column {width:100%;}
 body.rwp-theme .rwp-home .rwp-about-photo {transform:none;}
}
@media (max-width: 440px) {
 body.rwp-theme .rwp-home .rwp-hero-buttons .wp-block-button {width:100%;}
 body.rwp-theme .rwp-home .rwp-hero-buttons .wp-block-button__link {display:block;text-align:center;}
 body.rwp-theme .rwp-home .rwp-category-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 body.rwp-theme .rwp-home .rwp-featured-grid {grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce) {
 body.rwp-theme .rwp-home .wp-block-button__link,body.rwp-theme .rwp-home .rwp-category-card,
 body.rwp-theme .rwp-home .rwp-category-image img {transition:none!important;transform:none!important;}
}


/* ===================================================================
   v1.2 MOCKUP-MATCH REFINEMENTS
   Uses the exact existing editable Gutenberg homepage (no reset).
   Images are concept demo art, not Rollar's actual photography.
   =================================================================== */
body.rwp-theme { background-color:#090d1d; }
body.rwp-theme .ct-header [data-row="middle"] { background-color:#080d1a; background-size:100% 3px; }
body.rwp-theme .ct-header [data-row="middle"] .ct-container { max-width:1360px; }
body.rwp-theme .ct-header .menu > li > a { font-weight:800; }

/* Remove Blocksy's framed-content effect on this one homepage. */
body.home.rwp-theme #main-container,
body.home.rwp-theme #main,
body.home.rwp-theme .site-main,
body.home.rwp-theme article,
body.home.rwp-theme .entry-content { background:transparent; }
body.home.rwp-theme .entry-content { margin-top:0!important;margin-bottom:0!important;padding:0!important;max-width:none!important; }
body.home.rwp-theme .entry-content > .rwp-home,
body.rwp-theme .rwp-home.alignfull {
    width:100vw!important;max-width:100vw!important;
    position:relative!important;left:50%!important;margin-left:-50vw!important;
    margin-right:0!important;overflow:hidden;
}
body.rwp-theme .rwp-home { --rwp-max:1320px;--rwp-space:clamp(20px,3.2vw,52px);background:#090d1d; }
body.rwp-theme .rwp-home .rwp-gradient-text {background:linear-gradient(100deg,#0ee6f5 5%,#37d0ff 40%,#c85bfc 92%);background-clip:text;-webkit-background-clip:text;color:transparent; }

/* Full-bleed hero, designed like the original concept artwork. */
body.rwp-theme .rwp-home .rwp-hero {
    min-height:clamp(460px,43vw,610px);isolation:isolate;
    background:linear-gradient(105deg,#070c1d,#120c32 73%,#321144);
    border:0;overflow:hidden;
}
body.rwp-theme .rwp-home .rwp-hero::before {
    content:'';position:absolute;inset:0;z-index:1;opacity:1;
    background:linear-gradient(90deg,rgba(8,10,26,1) 0%,rgba(8,10,26,.95) 28%,rgba(8,10,26,.75) 44%,rgba(8,10,26,.05) 73%),linear-gradient(0deg,rgba(8,12,28,.20),transparent 35%);
    pointer-events:none;
}
body.rwp-theme .rwp-home .rwp-hero::after {
    content:'';position:absolute;left:-2%;right:-2%;bottom:-1px;height:38px;z-index:5;
    background:linear-gradient(95deg,#00daf6 0%,#0bdafa 29%,#a54bf8 65%,#f74ba5 100%);
    clip-path:polygon(0 38%,8% 65%,15% 42%,24% 77%,33% 48%,43% 64%,52% 36%,65% 74%,76% 42%,87% 62%,100% 12%,100% 38%,88% 89%,72% 74%,59% 100%,48% 76%,36% 92%,25% 72%,16% 96%,0 78%);
    filter:drop-shadow(0 0 10px #f74ba5);
}
body.rwp-theme .rwp-home .rwp-hero-columns {
    min-height:clamp(460px,43vw,610px);max-width:100%;width:100%;margin:0;
    display:flex;align-items:center;gap:0;
    padding:48px clamp(24px,5.1vw,90px) 68px;
    position:relative;
}
body.rwp-theme .rwp-home .rwp-hero-left {flex:0 0 min(51%,650px);position:relative;z-index:3;margin:0;}
body.rwp-theme .rwp-home .rwp-hero-copy {max-width:650px;padding:0;}
body.rwp-theme .rwp-home .rwp-hero-title {
    font-weight:900;font-size:clamp(2.45rem,4.6vw,5.15rem);letter-spacing:-.042em;
    line-height:1.04;margin:0 0 20px;text-wrap:balance;
    filter:drop-shadow(0 3px 13px rgba(0,0,0,.35));
}
body.rwp-theme .rwp-home .rwp-hero .rwp-eyebrow {font-size:.73rem;letter-spacing:.12em;margin-bottom:16px;color:#8bd7e6;}
body.rwp-theme .rwp-home .rwp-hero-lede {font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.5;max-width:520px;margin-bottom:23px;}
body.rwp-theme .rwp-home .rwp-hero-right {display:block;position:absolute;z-index:0;inset:0 0 0 auto;width:69%;height:100%;margin:0;max-width:none;}
body.rwp-theme .rwp-home .rwp-hero-photo {width:100%;height:100%;aspect-ratio:auto;margin:0;transform:none;border:0;border-radius:0;box-shadow:none;overflow:hidden;}
body.rwp-theme .rwp-home .rwp-hero-photo img {height:100%;width:100%;object-fit:cover;object-position:center; border-radius:0;}
body.rwp-theme .rwp-home .rwp-hero-photo::after {display:none;}
body.rwp-theme .rwp-home .wp-block-button__link {padding:13px 20px;border-radius:12px;}
body.rwp-theme .rwp-home .rwp-hero-buttons {gap:13px;}
body.rwp-theme .rwp-home .rwp-primary .wp-block-button__link {background:#08d9ed;color:#071321;border:2px solid #08d9ed;box-shadow:0 3px 15px rgba(0,217,245,.18);}
body.rwp-theme .rwp-home .rwp-outline .wp-block-button__link {background:rgba(5,8,26,.5);color:#fff;border:2px solid #05d5f5;}

/* The category ribbon is six vibrant photo cards on one line. */
body.rwp-theme .rwp-home .rwp-section.rwp-categories {padding:14px var(--rwp-space) 23px;background:#0a0e20;}
body.rwp-theme .rwp-home .rwp-categories > .rwp-eyebrow,
body.rwp-theme .rwp-home .rwp-categories > .rwp-section-title,
body.rwp-theme .rwp-home .rwp-categories > .rwp-section-intro {display:none;}
body.rwp-theme .rwp-home .rwp-category-grid {display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;max-width:1360px;margin:0 auto!important;}
body.rwp-theme .rwp-home .rwp-category-grid > .wp-block-column {min-width:0;margin:0!important;}
body.rwp-theme .rwp-home .rwp-category-card {
    display:flex;flex-direction:column;justify-content:flex-end;position:relative;isolation:isolate;
    min-height:clamp(140px,12.2vw,184px);padding:0 11px 13px;
    border-radius:12px;border:2px solid #0ee1f7;
    box-shadow:0 4px 14px rgba(0,0,0,.25);background:#14162c;
}
body.rwp-theme .rwp-home .rwp-category-grid > .wp-block-column:nth-child(3n+2) .rwp-category-card {border-color:#b352ff;}
body.rwp-theme .rwp-home .rwp-category-grid > .wp-block-column:nth-child(3n) .rwp-category-card {border-color:#ff4da8;}
body.rwp-theme .rwp-home .rwp-category-card::before {
    content:'';position:absolute;inset:0;z-index:0;
    background:linear-gradient(180deg,transparent 22%,rgba(4,6,23,.36) 48%,rgba(4,7,22,.98) 100%);
}
body.rwp-theme .rwp-home .rwp-category-image {position:absolute;inset:0;width:100%;height:100%;margin:0;aspect-ratio:auto;z-index:-1;}
body.rwp-theme .rwp-home .rwp-category-image img {width:100%;height:100%;object-fit:cover;border-radius:0;}
body.rwp-theme .rwp-home .rwp-category-title {position:relative;z-index:1;font-size:clamp(.76rem,1vw,1rem);font-weight:850;line-height:1.12;letter-spacing:-.01em;margin:0;color:#fff;max-width:100%;text-shadow:0 2px 5px #000;}
body.rwp-theme .rwp-home .rwp-category-sub {display:none;}

/* Four-photo editorial strip, rather than tall cards. */
body.rwp-theme .rwp-home .rwp-section.rwp-featured {padding:15px var(--rwp-space) 34px;background:#080d1c;}
body.rwp-theme .rwp-home .rwp-featured > * {max-width:1360px;}
body.rwp-theme .rwp-home .rwp-featured .rwp-section-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
body.rwp-theme .rwp-home .rwp-featured .rwp-section-title {font-size:clamp(1.35rem,2.2vw,2.1rem);margin:0;font-weight:900;font-style:italic;}
body.rwp-theme .rwp-home .rwp-featured .rwp-section-intro {max-width:450px;font-size:.83rem;line-height:1.4;margin:0;text-align:right;}
body.rwp-theme .rwp-home .rwp-featured-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;}
body.rwp-theme .rwp-home .rwp-featured-card {position:relative;overflow:hidden;border-radius:11px;border:1px solid rgba(145,170,205,.3);background:#090e21;}
body.rwp-theme .rwp-home .rwp-featured-image {height:clamp(148px,14vw,226px);aspect-ratio:auto;overflow:hidden;}
body.rwp-theme .rwp-home .rwp-featured-image img {height:100%;width:100%;object-fit:cover;border-radius:0;}
body.rwp-theme .rwp-home .rwp-featured-caption {font-size:.8rem;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(1,7,20,.85));padding:28px 12px 8px;}

/* A compact events teaser, preserving this block for future real galleries. */
body.rwp-theme .rwp-home .rwp-section.rwp-event {padding:28px var(--rwp-space);background:linear-gradient(105deg,#10142d,#1c1541 65%,#111c34);}
body.rwp-theme .rwp-home .rwp-event .rwp-split-grid {max-width:1210px;gap:35px;}
body.rwp-theme .rwp-home .rwp-event .rwp-section-title {font-size:clamp(1.55rem,2.6vw,2.5rem);}
body.rwp-theme .rwp-home .rwp-event .rwp-event-photo {max-height:235px;border-radius:14px;aspect-ratio:1.7;}
body.rwp-theme .rwp-home .rwp-event .rwp-event-photo img {object-position:center;}

/* Photographer panel with angled cyan-framed artwork and muted paws. */
body.rwp-theme .rwp-home .rwp-section.rwp-about {padding:37px var(--rwp-space) 48px;position:relative;background:radial-gradient(ellipse at 80% 20%,rgba(104,71,192,.17),transparent 54%),#0c1025;overflow:hidden;}
body.rwp-theme .rwp-home .rwp-about::after {content:'🐾';position:absolute;font-size:155px;right:3%;top:11%;opacity:.12;transform:rotate(-18deg);pointer-events:none;}
body.rwp-theme .rwp-home .rwp-about .rwp-split-grid {max-width:1150px;gap:clamp(25px,5vw,70px);}
body.rwp-theme .rwp-home .rwp-about .rwp-split-grid > .wp-block-column:first-child {flex-basis:38%;}
body.rwp-theme .rwp-home .rwp-about .rwp-split-grid > .wp-block-column:last-child {flex-basis:62%;}
body.rwp-theme .rwp-home .rwp-about-photo {max-height:330px;aspect-ratio:1.5;transform:rotate(-3deg);border:4px solid #02d6ed;border-radius:16px;box-shadow:0 12px 25px rgba(0,0,0,.4),0 5px 0 #08a9dd;}
body.rwp-theme .rwp-home .rwp-about .rwp-section-title {font-style:italic;font-weight:900;}
body.rwp-theme .rwp-home .rwp-about .rwp-section-intro {font-size:clamp(.94rem,1.1vw,1.06rem);line-height:1.55;margin-bottom:12px;}

/* Bright bottom booking ribbon inspired by our approved concept. */
body.rwp-theme .rwp-home .rwp-section.rwp-contact {
    padding:34px clamp(22px,6vw,100px)!important;max-width:none;
    text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;column-gap:28px;align-items:center;
    background:linear-gradient(105deg,#00e7eb 0%,#35c6f6 33%,#935cf2 70%,#db21c0 100%);
    border:0;color:#061223;isolation:isolate;
}
body.rwp-theme .rwp-home .rwp-contact::before {content:'';position:absolute;inset:0;background:linear-gradient(transparent 0%,rgba(255,255,255,.09) 30%,transparent);clip-path:polygon(0 16%,100% 0,100% 100%,0 84%);z-index:-1;}
body.rwp-theme .rwp-home .rwp-contact > .rwp-eyebrow,
body.rwp-theme .rwp-home .rwp-contact > .rwp-contact-footnote {display:none;}
body.rwp-theme .rwp-home .rwp-contact .rwp-contact-title,
body.rwp-theme .rwp-home .rwp-contact .rwp-contact-lede {grid-column:1;margin-left:0;margin-right:0;max-width:680px;text-align:left;color:#04162a;}
body.rwp-theme .rwp-home .rwp-contact .rwp-contact-title {grid-row:1;font-size:clamp(1.5rem,2.6vw,2.7rem);font-weight:900;font-style:italic;margin-bottom:0;}
body.rwp-theme .rwp-home .rwp-contact .rwp-contact-title .rwp-gradient-text {background:none;-webkit-text-fill-color:#04162a;color:#04162a;}
body.rwp-theme .rwp-home .rwp-contact .rwp-contact-lede {grid-row:2;font-size:clamp(.88rem,1vw,1.05rem);line-height:1.45;margin:0;}
body.rwp-theme .rwp-home .rwp-contact .rwp-contact-buttons {grid-column:2;grid-row:1 / span 2;justify-content:flex-end;margin:0;}
body.rwp-theme .rwp-home .rwp-contact .rwp-primary .wp-block-button__link {background:#ed159e;border:2px solid rgba(255,255,255,.6);color:#fff;box-shadow:0 5px 24px rgba(99,18,95,.22);}

@media(max-width:1140px) {
  body.rwp-theme .rwp-home .rwp-hero::before {background:linear-gradient(90deg,rgba(8,10,26,.98),rgba(8,10,26,.89) 33%,rgba(8,10,26,.42) 67%,rgba(8,10,26,.10));}
  body.rwp-theme .rwp-home .rwp-hero-left {flex-basis:59%;}
  body.rwp-theme .rwp-home .rwp-category-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
  body.rwp-theme .rwp-home .rwp-category-card {min-height:158px;}
}
@media(max-width:720px) {
  body.rwp-theme .rwp-home .rwp-hero-columns {display:flex;min-height:550px;padding:30px 22px 42px;align-items:flex-end;}
  body.rwp-theme .rwp-home .rwp-hero-left {flex-basis:100%;width:100%;}
  body.rwp-theme .rwp-home .rwp-hero-right {width:100%;height:100%;top:0;bottom:auto;}
  body.rwp-theme .rwp-home .rwp-hero::before {background:linear-gradient(0deg,#070b1b 7%,rgba(7,11,27,.95) 32%,rgba(7,11,27,.23) 73%,rgba(7,11,27,.10) 100%);}
  body.rwp-theme .rwp-home .rwp-hero-title {font-size:clamp(2.2rem,9vw,3.7rem);}
  body.rwp-theme .rwp-home .rwp-hero .rwp-eyebrow {margin-bottom:8px;}
  body.rwp-theme .rwp-home .rwp-hero-lede {font-size:.97rem;}
  body.rwp-theme .rwp-home .rwp-hero-photo {transform:none;aspect-ratio:auto;border:0;border-radius:0;}
  body.rwp-theme .rwp-home .rwp-category-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  body.rwp-theme .rwp-home .rwp-category-card {min-height:165px;}
  body.rwp-theme .rwp-home .rwp-featured-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.rwp-theme .rwp-home .rwp-featured .rwp-section-heading {display:block;}
  body.rwp-theme .rwp-home .rwp-featured .rwp-section-intro {text-align:left;margin-top:6px;}
  body.rwp-theme .rwp-home .rwp-featured-image {height:170px;}
  body.rwp-theme .rwp-home .rwp-about-photo {transform:none;}
  body.rwp-theme .rwp-home .rwp-section.rwp-contact {grid-template-columns:1fr;gap:9px;padding:25px 20px!important;}
  body.rwp-theme .rwp-home .rwp-contact .rwp-contact-title {grid-column:1;grid-row:1;}
  body.rwp-theme .rwp-home .rwp-contact .rwp-contact-lede {grid-column:1;grid-row:2;}
  body.rwp-theme .rwp-home .rwp-contact .rwp-contact-buttons {grid-column:1;grid-row:3;justify-content:flex-start;margin-top:7px;}
}
@media(max-width:420px) {
  body.rwp-theme .rwp-home .rwp-category-card {min-height:145px;}
  body.rwp-theme .rwp-home .rwp-featured-grid {grid-template-columns:1fr 1fr;}
  body.rwp-theme .rwp-home .rwp-featured-image {height:137px;}
  body.rwp-theme .rwp-home .rwp-featured-caption {font-size:.72rem;}
}


/* v1.3.0: NO-GAP HOMEPAGE LAYOUT
 * The v1.3 homepage template renders the existing Gutenberg page without
 * Blocksy's usual single-page wrapper, page title or vertical-spacing container.
 * Only applied to the existing RWP homepage; other pages are unchanged.
 */
body.home.rwp-landing #main-container,
body.home.rwp-landing #main,
body.home.rwp-landing main#main {
  padding-top:0!important;
  margin-top:0!important;
  background:#090d1d;
}
body.home.rwp-landing #main > .rwp-landing-article,
body.home.rwp-landing .rwp-landing-article,
body.home.rwp-landing .rwp-landing-content,
body.home.rwp-landing .rwp-landing-content > .wp-block-group:first-child {
  padding:0!important;
  margin:0!important;
  border:0;
}
body.home.rwp-landing .rwp-landing-content,
body.home.rwp-landing .rwp-landing-article { width:100%!important; max-width:none!important; }
body.home.rwp-landing .rwp-landing-content > .rwp-home.alignfull,
body.home.rwp-landing .rwp-landing-content > .rwp-home {
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
body.home.rwp-landing .rwp-landing-content > .rwp-home > .rwp-hero:first-child,
body.home.rwp-landing .rwp-landing-content > .rwp-home > :first-child {
  margin-top:0!important;
}
/* No page title or spacer may be inserted above the bespoke front-page hero. */
body.home.rwp-landing #main > .hero-section,
body.home.rwp-landing #main > .entry-header,
body.home.rwp-landing #main > .ct-container > .hero-section {
  display:none!important;
}


/* ================================================================
   v1.4: HERO BOTTOM EDGE BRUSH (replaces the detached zigzag wave)
   The decoration uses a tightly cropped transparent PNG and is
   anchored INSIDE the full-bleed hero. Works with replacement photos.
   ================================================================ */
body.rwp-theme .rwp-home .rwp-hero {
  position: relative;
  overflow: hidden;
  border: 0;
  border-image: none;
}
body.rwp-theme .rwp-home .rwp-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  display: block;
  width: 100%;
  height: clamp(14px, 2.1vw, 29px);
  background-image: url('assets/rwp-hero-bottom-brush.png');
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  clip-path: none;
  filter: none;
  transform: none;
  opacity: 1;
  z-index: 5;
  pointer-events: none;
  border: none;
  box-shadow: none;
}
/* Never allow the hero image to leave a baseline gap underneath. */
body.rwp-theme .rwp-home .rwp-hero-photo,
body.rwp-theme .rwp-home .rwp-hero-photo img {
  vertical-align: top;
}
@media (max-width: 720px) {
  body.rwp-theme .rwp-home .rwp-hero::after {
    height: 16px;
    background-size: 100% 100%;
  }
}


/* =====================================================================
   v1.5 | PROMINENT ORIGINAL LOGO / MOCKUP-STYLE HEADER
   Keep Blocksy Header Builder and the user's existing logo selection.
   Increase the visual logo size without ballooning the header row.
   Rules are header-scoped so gallery/page images remain untouched.
   ===================================================================== */
body.rwp-theme .ct-header {
  position: relative;
  z-index: 40;
}
body.rwp-theme .ct-header [data-row="middle"],
body.rwp-theme .ct-header [data-row="middle"] .ct-container {
  overflow: visible;
}
/* Blocksy stores the usual logo limit in --logo-max-height. */
body.rwp-theme .ct-header .site-logo-container {
  --logo-max-height: 128px !important;
  position: relative;
  z-index: 3;
  overflow: visible;
  transform: translateY(11px);
  margin-top: -12px;
  margin-bottom: -25px;
}
body.rwp-theme .ct-header .site-logo-container img {
  display: block;
  width: 182px !important;
  height: auto !important;
  max-width: 182px !important;
  max-height: 128px !important;
  object-fit: contain !important;
}
/* Reserve horizontal room for the enlarged wordmark. */
body.rwp-theme .ct-header [data-id="logo"] {
  position: relative;
  z-index: 4;
  flex-shrink: 0;
}
/* Tablet/mobile: bigger than the former tiny badge, but no navigation overlap. */
@media (max-width: 999px) {
  body.rwp-theme .ct-header .site-logo-container {
    --logo-max-height: 94px !important;
    transform: translateY(4px);
    margin-top: -5px;
    margin-bottom: -9px;
  }
  body.rwp-theme .ct-header .site-logo-container img {
    width: 134px !important;
    max-width: 134px !important;
    max-height: 94px !important;
  }
}
@media (max-width: 480px) {
  body.rwp-theme .ct-header .site-logo-container {
    --logo-max-height: 82px !important;
    transform: translateY(2px);
    margin-top: -3px;
    margin-bottom: -7px;
  }
  body.rwp-theme .ct-header .site-logo-container img {
    width: 116px !important;
    max-width: 116px !important;
    max-height: 82px !important;
  }
}

/* =====================================================================
   v1.6 | PORTFOLIO & CONVENTION GALLERIES
   Keeps the homepage untouched. Applies only to setup-created pages.
   ===================================================================== */
body.rwp-theme.rwp-portfolio-layout #main-container,
body.rwp-theme.rwp-portfolio-layout #main,
body.rwp-theme.rwp-portfolio-layout main#main {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: #090e1d;
}
body.rwp-theme.rwp-portfolio-layout .rwp-portfolio-article,
body.rwp-theme.rwp-portfolio-layout .rwp-portfolio-content {
  width: 100%;
  max-width: none;
  padding: 0 !important;
  margin: 0 !important;
}
body.rwp-theme.rwp-portfolio-layout .rwp-inner-page {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #e5ebfa;
  background: #090e1d;
}
body.rwp-theme.rwp-portfolio-layout .rwp-page-masthead {
  max-width: none !important;
  width: 100%;
  padding: clamp(64px, 8vw, 110px) max(24px, calc((100vw - 1240px)/2)) clamp(55px, 6vw, 92px) !important;
  margin: 0 !important;
  background:
    radial-gradient(ellipse at 78% 23%, rgba(172, 66, 222, .38), transparent 41%),
    radial-gradient(ellipse at 92% 73%, rgba(0, 207, 235, .22), transparent 36%),
    radial-gradient(ellipse at 7% 0%, rgba(18, 65, 149, .26), transparent 48%),
    #10142b;
  border-bottom: 3px solid transparent;
  border-image: linear-gradient(90deg, #00d9f5, #a855f7, #ff4da8) 1;
  position: relative;
  overflow: hidden;
}
body.rwp-theme.rwp-portfolio-layout .rwp-page-masthead > * {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}
body.rwp-theme.rwp-portfolio-layout .rwp-page-masthead::before {
  content: "";
  position: absolute;
  top: 14%; right: -100px;
  width: min(38vw, 540px); aspect-ratio: 1;
  border: 2px solid rgba(0, 217, 245, .10);
  border-radius: 50%;
  box-shadow: inset 0 0 0 38px rgba(0, 217, 245, .02), 0 0 0 35px rgba(170, 60, 248, .035);
  pointer-events: none;
}
body.rwp-theme.rwp-portfolio-layout .rwp-kicker {
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .18em;
  color: #22e0f1;
  text-transform: uppercase;
  margin-bottom: 15px;
}
body.rwp-theme.rwp-portfolio-layout .rwp-inner-title {
  color: #fff;
  font-size: clamp(2.45rem, 5.2vw, 5.15rem);
  line-height: 1.03;
  font-weight: 900;
  letter-spacing: -.045em;
  font-style: italic;
  margin: 0 auto 18px;
  text-wrap: balance;
}
body.rwp-theme.rwp-portfolio-layout .rwp-inner-intro {
  color: #d6ddef;
  max-width: 720px;
  font-size: clamp(1.02rem, 1.4vw, 1.2rem);
  line-height: 1.6;
  margin-bottom: 0;
}
body.rwp-theme.rwp-portfolio-layout .rwp-page-body {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: clamp(28px, 5vw, 60px) 26px 80px !important;
  background: transparent;
}
body.rwp-theme.rwp-portfolio-layout .rwp-section-kicker {
  color: #22dfef;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .085em;
  margin: 0 0 19px;
}
body.rwp-theme.rwp-portfolio-layout .rwp-index-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0 !important;
  width: 100%;
  max-width: none;
}
body.rwp-theme.rwp-portfolio-layout .rwp-index-grid > .wp-block-column {
  margin: 0 !important;
  min-width: 0;
}
body.rwp-theme.rwp-portfolio-layout .rwp-index-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 385px;
  padding: 0 0 19px !important;
  overflow: hidden;
  border: 1px solid #344363;
  border-radius: 18px;
  background: #131a31;
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
body.rwp-theme.rwp-portfolio-layout .rwp-index-grid > .wp-block-column:nth-child(3n+1) .rwp-index-card { border-color: rgba(0, 217, 245, .55); }
body.rwp-theme.rwp-portfolio-layout .rwp-index-grid > .wp-block-column:nth-child(3n+2) .rwp-index-card { border-color: rgba(168, 85, 247, .55); }
body.rwp-theme.rwp-portfolio-layout .rwp-index-grid > .wp-block-column:nth-child(3n) .rwp-index-card { border-color: rgba(255, 77, 168, .55); }
body.rwp-theme.rwp-portfolio-layout .rwp-index-card:hover {
  transform: translateY(-4px);
  border-color: #00d9f5;
  box-shadow: 0 12px 30px rgba(0, 188, 234, .12);
}
body.rwp-theme.rwp-portfolio-layout .rwp-index-card-image {
  width: 100%;
  max-width: none;
  height: clamp(195px, 17vw, 250px);
  overflow: hidden;
  margin: 0 0 18px !important;
  border: 0;
}
body.rwp-theme.rwp-portfolio-layout .rwp-index-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  transition: transform .25s ease;
}
body.rwp-theme.rwp-portfolio-layout .rwp-index-card:hover .rwp-index-card-image img { transform: scale(1.025); }
body.rwp-theme.rwp-portfolio-layout .rwp-index-card-title {
  color: #fff;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 850;
  letter-spacing: -.025em;
  margin: 0 20px 8px;
}
body.rwp-theme.rwp-portfolio-layout .rwp-index-card-description {
  color: #bfcde3;
  font-size: .92rem;
  line-height: 1.55;
  margin: 0 20px 18px;
}
body.rwp-theme.rwp-portfolio-layout .rwp-card-link {
  margin: auto 20px 0;
}
body.rwp-theme.rwp-portfolio-layout .rwp-card-link .wp-block-button__link,
body.rwp-theme.rwp-portfolio-layout .rwp-back-button .wp-block-button__link {
  display: inline-block;
  padding: 10px 18px;
  font-size: .86rem;
  font-weight: 800;
  border-radius: 10px;
  background: #00d9f5;
  color: #081325;
  border: 0;
  text-decoration: none;
}
body.rwp-theme.rwp-portfolio-layout .rwp-demo-note {
  font-size: .8rem;
  color: #9fb1cb;
  margin: 20px 0 0;
}
body.rwp-theme.rwp-portfolio-layout .rwp-inner-section-title {
  color: #fff;
  font-size: clamp(1.65rem, 2.5vw, 2.35rem);
  font-weight: 900;
  margin: 0 0 12px;
}
body.rwp-theme.rwp-portfolio-layout .rwp-inner-description {
  color: #c5d0e3;
  margin: 0 0 24px;
  line-height: 1.6;
}
body.rwp-theme.rwp-portfolio-layout .rwp-gallery-empty {
  text-align: center;
  background: linear-gradient(135deg, #111830, #1a1939);
  border: 1px dashed #416083;
  border-radius: 20px;
  padding: clamp(44px, 6vw, 74px) 18px;
  margin-bottom: 34px;
}
body.rwp-theme.rwp-portfolio-layout .rwp-gallery-empty span { font-size: 2.25rem; }
body.rwp-theme.rwp-portfolio-layout .rwp-gallery-empty h3 { margin: 10px 0; font-size: 1.4rem; color: #fff; }
body.rwp-theme.rwp-portfolio-layout .rwp-gallery-empty p { color: #b9cce0; margin: 0; }
body.rwp-theme.rwp-portfolio-layout .rwp-embedded-gallery { margin: 0 0 32px; }
body.rwp-theme.rwp-portfolio-layout .rwp-embedded-gallery .foogallery { max-width: 100%; }
body.rwp-theme.rwp-portfolio-layout .rwp-back-button { margin-top: 25px; }
body.rwp-theme.rwp-portfolio-layout .rwp-back-button .wp-block-button__link {
  background: rgba(10, 25, 52, .4);
  color: #9decfa;
  border: 1px solid #00a8c0;
}
@media (max-width: 1000px) {
  body.rwp-theme.rwp-portfolio-layout .rwp-index-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
  body.rwp-theme.rwp-portfolio-layout .rwp-page-masthead { padding-left: 32px !important; padding-right: 32px !important; }
}
@media (max-width: 640px) {
  body.rwp-theme.rwp-portfolio-layout .rwp-index-grid { grid-template-columns: 1fr; }
  body.rwp-theme.rwp-portfolio-layout .rwp-page-body { padding: 30px 17px 60px !important; }
  body.rwp-theme.rwp-portfolio-layout .rwp-page-masthead { padding: 63px 20px 57px !important; }
  body.rwp-theme.rwp-portfolio-layout .rwp-index-card { min-height: 350px; }
  body.rwp-theme.rwp-portfolio-layout .rwp-index-card-image { height: 240px; }
}
@media (prefers-reduced-motion: reduce) {
  body.rwp-theme.rwp-portfolio-layout .rwp-index-card,
  body.rwp-theme.rwp-portfolio-layout .rwp-index-card img { transition: none; }
}


/* v1.6.1: Real, keyboard-accessible links over existing home category cards.
   Photo crops, neon borders and mobile grid measurements are unchanged. */
body.rwp-theme .rwp-home .rwp-category-card { cursor: pointer; }
body.rwp-theme .rwp-home .rwp-category-card > .rwp-category-card-link {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 5;
  border-radius: inherit;
  background: transparent;
  text-decoration: none;
  touch-action: manipulation;
}
body.rwp-theme .rwp-home .rwp-category-card > .rwp-category-card-link:focus-visible {
  outline: 3px solid var(--rwp-gold, #ffcc57);
  outline-offset: 4px;
}
body.rwp-theme .rwp-home .rwp-category-card:focus-within {
  border-color: var(--rwp-cyan, #00d9f5);
}


/* v1.6.3: Through My Lens, personal photography collections.
   Reuses the existing portfolio gradient hero and photography gallery styling. */
body.rwp-theme.rwp-portfolio-layout .rwp-lens-collections {
  max-width:1170px;
  margin:0 auto;
  color:var(--rwp-text);
}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-collections-intro {
  margin:0 0 25px;
  max-width:800px;
}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-eyebrow {
  color:var(--rwp-cyan);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin:0 0 12px;
}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-collections-intro h2 {
  color:#fff;
  font-size:clamp(27px,3.5vw,42px);
  letter-spacing:-.025em;
  margin:0 0 12px;
}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-collections-intro > p:last-child {
  color:#bcccdd;
  font-size:16px;
  line-height:1.6;
  margin:0;
}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:26px 0 45px;
}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:176px;
  padding:20px;
  border:1px solid rgba(40,209,234,.25);
  border-radius:16px;
  background:linear-gradient(145deg,#172340,#10182d);
  color:#fff;
  text-decoration:none;
}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic:nth-child(2n) { border-color:rgba(168,85,247,.35); }
body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic:nth-child(4n) { border-color:rgba(255,77,168,.32); }
body.rwp-theme.rwp-portfolio-layout a.rwp-lens-topic:hover,
body.rwp-theme.rwp-portfolio-layout a.rwp-lens-topic:focus-visible {
  border-color:var(--rwp-cyan);
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.22);
}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic-num { color:var(--rwp-cyan);font-weight:900;font-size:12px;letter-spacing:.13em;margin-bottom:16px; }
body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic h3 {font-size:17px;color:#fff;line-height:1.2;margin:0 0 9px;}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic p {font-size:13px;color:#aabed7;line-height:1.5;margin:0;}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic-arrow {font-size:12px;color:var(--rwp-cyan);font-weight:800;margin-top:auto;padding-top:14px;}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-gallery-group {
  scroll-margin-top:100px;
  padding:35px 0 40px;
  border-top:1px solid rgba(102,136,188,.28);
}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-group-heading {display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 22px;}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-group-heading h2 {font-size:clamp(25px,3vw,38px);color:#fff;margin:0 0 8px;}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-group-heading p:last-child {color:#bacbe0;margin:0;line-height:1.6;}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-top {flex-shrink:0;color:var(--rwp-cyan);font-weight:700;text-decoration:none;font-size:13px;}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-soon {background:#151f38;border:1px solid rgba(83,127,182,.36);border-radius:16px;padding:26px;}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-soon strong {color:#fff;font-size:20px;}
body.rwp-theme.rwp-portfolio-layout .rwp-lens-soon p {color:#b9cde2;margin:8px 0 0;}
@media(max-width:980px){body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){
  body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic-grid{gap:11px;margin:20px 0 34px;}
  body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic{min-height:170px;padding:15px;}
  body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic h3{font-size:15px;}
  body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic p{font-size:12px;}
  body.rwp-theme.rwp-portfolio-layout .rwp-lens-group-heading{display:block;}
  body.rwp-theme.rwp-portfolio-layout .rwp-lens-top{display:inline-block;margin-top:12px;}
  body.rwp-theme.rwp-portfolio-layout .rwp-lens-gallery-group{padding-top:26px;}
}
@media(max-width:350px){body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic-grid{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){body.rwp-theme.rwp-portfolio-layout .rwp-lens-topic{transition:none!important;}}
