:root{--black:#111;--muted:#777;--line:#e7e2db;--accent:#d4a62f;--cream:#fbfaf7;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--black);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.55}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.sv-container{max-width:1280px;margin:auto;padding:44px 32px}.sv-container.wide{max-width:1600px}.sv-header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fff;position:sticky;top:0;z-index:1000}.admin-bar .sv-header{top:32px}.sv-brand{display:flex;align-items:center;min-width:0}.sv-name{font-family:var(--serif);font-size:32px;letter-spacing:.03em;white-space:nowrap}.sv-divider{height:42px;width:1px;background:#d7d7d7;margin:0 26px}.sv-tagline{text-transform:uppercase;font-size:14px;letter-spacing:.18em;font-weight:700;white-space:nowrap}.sv-menu{list-style:none;display:flex;gap:34px;align-items:center;margin:0;padding:0;text-transform:uppercase;font-size:14px;letter-spacing:.06em;font-weight:700}.sv-menu a{display:block;padding:30px 0}.sv-menu>li{position:relative}.sv-menu>li>a:hover,.current-menu-item>a{border-bottom:2px solid var(--black)}.sv-menu .menu-item-has-children>a:after{content:'⌄';margin-left:8px}.sv-menu .sub-menu{position:absolute;top:78px;left:-18px;min-width:210px;background:#fff;padding:18px 28px;box-shadow:0 18px 45px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;list-style:none;margin:0}.sv-menu .menu-item-has-children:hover>.sub-menu,.sv-menu .menu-item-has-children.is-open>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.sv-menu .sub-menu a{padding:10px 0;color:#777}.sv-menu .sub-menu a:hover{color:#111}.sv-menu-toggle{display:none;background:none;border:0;width:44px;height:44px;gap:5px;flex-direction:column;justify-content:center;align-items:center}.sv-menu-toggle span{width:26px;height:2px;background:#111;display:block}.sv-main{min-height:70vh}.sv-hero{height:560px;position:relative;background:#111;overflow:hidden}.sv-hero-media,.sv-hero-media img,.sv-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sv-placeholder{background:linear-gradient(110deg,#151515,#746554)}.sv-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.15),rgba(0,0,0,.12))}.sv-hero-content{position:relative;z-index:2;color:#fff;max-width:560px;padding:110px 12vw}.sv-hero h1{font-family:var(--serif);font-size:56px;line-height:1.05;margin:0 0 18px}.sv-hero p{font-size:18px;margin:0 0 28px}.sv-btn{display:inline-flex;align-items:center;justify-content:center;min-width:150px;height:44px;border:1px solid #111;text-transform:uppercase;font-size:12px;letter-spacing:.12em;background:#111;color:#fff;padding:0 24px}.sv-btn-light{border-color:#fff;color:#fff;background:transparent}.sv-about-band{display:grid;grid-template-columns:280px 1fr 260px;gap:44px;align-items:center}.sv-about-image img{width:280px;height:220px;object-fit:cover;filter:grayscale(1)}.sv-about-copy span{text-transform:uppercase;font-size:12px;letter-spacing:.16em;color:#8b722d}.sv-about-copy h2{font-family:var(--serif);font-size:36px;line-height:1.1;margin:12px 0}.sv-stats{border-left:1px solid var(--line);padding-left:44px}.sv-stats p{display:flex;gap:18px;align-items:flex-start}.sv-stats strong{font-family:var(--serif);font-size:30px}.sv-stats span{text-transform:uppercase;font-size:12px;letter-spacing:.12em}.sv-brands{background:#f4f2ef;text-align:center;padding:28px 30px}.sv-brands p,.sv-section-title{text-transform:uppercase;letter-spacing:.18em;font-size:13px;text-align:center}.sv-brands div{display:flex;justify-content:center;gap:42px;flex-wrap:wrap;font-family:var(--serif);font-size:22px}.sv-category-row{display:grid;grid-template-columns:repeat(7,1fr);gap:18px}.sv-cat-card{height:130px;background:#242424;color:#fff;display:flex;align-items:end;justify-content:center;padding:18px;text-transform:uppercase;letter-spacing:.08em;position:relative;overflow:hidden}.sv-cat-card:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#4a3d31,#171717);opacity:.9}.sv-cat-card span{position:relative}.sv-page-hero{min-height:300px;display:flex;align-items:center;padding:60px 8vw;background:var(--cream)}.sv-page-hero.dark{background:#15120f;color:#fff;background-image:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.25))}.sv-page-hero span{text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}.sv-page-hero h1{font-family:var(--serif);font-size:48px;line-height:1.1;margin:14px 0;max-width:620px}.sv-page-hero p{max-width:460px}.sv-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 28px}.sv-filters button{background:transparent;border:0;border-bottom:1px solid transparent;padding:10px 14px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.sv-filters button.is-active{border-color:#111;color:#111}.sv-portfolio-grid.sv-masonry{columns:4 260px;column-gap:8px}.sv-work-item{break-inside:avoid;margin:0 0 8px;transition:.25s}.sv-work-item.is-hidden{display:none}.sv-work-item a{display:block;position:relative;overflow:hidden;background:#eee}.sv-work-item img{width:100%;transition:.35s}.sv-work-item span{position:absolute;left:0;right:0;bottom:0;padding:28px 20px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.55));opacity:0;transition:.25s}.sv-work-item:hover span{opacity:1}.sv-work-item:hover img{transform:scale(1.03)}.sv-work-item strong,.sv-work-item em{display:block}.sv-work-item em{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-style:normal}.sv-portfolio-head{padding-top:48px;padding-bottom:24px}.sv-portfolio-head h1{font-family:var(--serif);font-size:56px;margin:8px 0}.sv-gallery-controls{display:flex;gap:20px;justify-content:flex-end;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.sv-gallery-controls button{border:0;background:transparent;cursor:pointer}.sv-gallery{gap:8px}.sv-gallery figure{margin:0;background:#eee}.sv-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr)}.sv-gallery-masonry{columns:4 260px;column-gap:8px}.sv-gallery-masonry figure{break-inside:avoid;margin-bottom:8px}.sv-gallery-horizontal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}.sv-gallery-horizontal figure{flex:0 0 auto;width:min(48vw,680px);scroll-snap-align:start}.sv-gallery-horizontal img{height:70vh;object-fit:cover;width:100%}.sv-test-head h1{font-family:var(--serif);font-size:48px;margin-bottom:0}.sv-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.sv-test-card{background:#fff;box-shadow:0 15px 40px rgba(0,0,0,.08);display:grid;grid-template-columns:42% 58%;min-height:260px}.sv-test-img img{height:100%;object-fit:cover;width:100%}.sv-test-copy{padding:28px}.sv-client-row{display:flex;gap:14px;align-items:center}.sv-client-row img{width:54px;height:54px;border-radius:50%;object-fit:cover}.sv-client-row span{display:block;color:#777;font-size:13px}.sv-stars{color:#d6a535;letter-spacing:.1em;margin:18px 0}.sv-test-copy em{font-family:var(--serif);font-size:22px;font-style:normal}.sv-contact-grid{display:grid;grid-template-columns:1.1fr .7fr 1.1fr;min-height:calc(100vh - 82px)}.sv-contact-visual{background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),#222;color:#fff;padding:8vw 5vw;display:flex;align-items:center}.sv-contact-visual h1{font-family:var(--serif);font-size:44px}.sv-contact-info{background:#111;color:#fff;padding:70px 50px}.sv-contact-info a{color:#fff}.sv-contact-form{padding:70px 50px;background:#f7f2ec}.sv-contact-form h2{font-family:var(--serif);font-size:32px}.sv-contact-form form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sv-contact-form textarea{grid-column:1/-1;min-height:140px}.sv-contact-form input,.sv-contact-form select,.sv-contact-form textarea{border:1px solid #ccc;padding:14px;background:#fff}.sv-contact-form button{grid-column:1/-1}.sv-blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:38px}.sv-blog-grid h2{font-size:28px;text-transform:uppercase}.sv-content{font-family:var(--serif);font-size:20px}.sv-footer{background:#0f0f0f;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 42px;font-size:14px}.sv-footer a{color:#fff}.sv-socials{display:flex;gap:12px;align-items:center}.sv-socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;font-size:11px}.sv-footer-left,.sv-footer-right{display:flex;align-items:center;gap:18px}.sv-top{border:1px solid rgba(255,255,255,.4);width:38px;height:38px;display:grid;place-items:center}.sv-error{text-align:center;padding:120px 32px}@media(max-width:1100px){.sv-header{padding:0 24px}.sv-name{font-size:25px}.sv-tagline{font-size:12px;max-width:300px;overflow:hidden;text-overflow:ellipsis}.sv-menu{gap:20px}.sv-about-band,.sv-contact-grid{grid-template-columns:1fr}.sv-category-row{grid-template-columns:repeat(3,1fr)}.sv-testimonials{grid-template-columns:1fr 1fr}.sv-footer{flex-wrap:wrap}.sv-gallery-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.admin-bar .sv-header{top:46px}.sv-header{height:auto;min-height:74px;padding:12px 18px}.sv-brand{display:block}.sv-name{display:block;font-size:24px}.sv-divider{display:none}.sv-tagline{display:block;font-size:10px;margin-top:2px;max-width:220px}.sv-menu-toggle{display:flex}.sv-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 15px 40px rgba(0,0,0,.08)}.sv-nav.is-open{display:block}.sv-menu{display:block;padding:10px 24px}.sv-menu a{padding:12px 0}.sv-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 18px;display:none}.sv-menu .menu-item-has-children.is-open>.sub-menu{display:block}.sv-hero{height:520px}.sv-hero-content{padding:80px 28px}.sv-hero h1{font-size:42px}.sv-container{padding:34px 18px}.sv-category-row{grid-template-columns:1fr 1fr}.sv-testimonials{grid-template-columns:1fr}.sv-test-card{grid-template-columns:1fr}.sv-contact-form form{grid-template-columns:1fr}.sv-contact-form,.sv-contact-info,.sv-contact-visual{padding:42px 24px}.sv-gallery-grid,.sv-blog-grid{grid-template-columns:1fr}.sv-gallery-masonry,.sv-portfolio-grid.sv-masonry{columns:1}.sv-gallery-horizontal figure{width:82vw}.sv-gallery-horizontal img{height:60vh}.sv-footer{display:block;text-align:center}.sv-footer-left,.sv-footer-right{justify-content:center;margin:12px 0}.sv-footer-center{margin:14px 0}}@media(max-width:420px){.sv-category-row{grid-template-columns:1fr}.sv-name{font-size:22px}.sv-hero h1,.sv-page-hero h1,.sv-portfolio-head h1{font-size:36px}}

/* Hero text position controls: only allows admin-selected placement of existing hero text. */
.sv-hero-content{position:absolute;z-index:2;color:#fff;padding:0;transform:translateY(-50%)}
@media(max-width:760px){.sv-hero-content{left:28px!important;right:28px!important;top:50%!important;max-width:calc(100% - 56px)!important}.sv-hero p{max-width:360px}.sv-btn{height:42px}}


/* Portfolio Page Builder layouts */
.sv-portfolio-grid.sv-page-grid-layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;columns:auto}
.sv-portfolio-grid.sv-page-grid-layout .sv-work-item{margin:0;break-inside:auto}
.sv-portfolio-grid.sv-page-grid-layout img{width:100%;height:320px;object-fit:cover}
.sv-portfolio-grid.sv-page-horizontal-layout{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;columns:auto;padding-bottom:18px;cursor:grab}
.sv-portfolio-grid.sv-page-horizontal-layout .sv-work-item{flex:0 0 auto;width:min(48vw,680px);margin:0;scroll-snap-align:start;break-inside:auto}
.sv-portfolio-grid.sv-page-horizontal-layout img{width:100%;height:70vh;object-fit:cover}
.sv-portfolio-grid.sv-page-horizontal-layout.dragging{cursor:grabbing}
.sv-portfolio-cta{text-align:center;margin:46px auto 10px;padding:44px 24px;border-top:1px solid var(--line)}
.sv-portfolio-cta h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:0 0 18px}
@media(max-width:1100px){.sv-portfolio-grid.sv-page-grid-layout{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.sv-portfolio-grid.sv-page-grid-layout{grid-template-columns:1fr 1fr}.sv-portfolio-grid.sv-page-grid-layout img{height:220px}.sv-portfolio-grid.sv-page-horizontal-layout .sv-work-item{width:82vw}.sv-portfolio-grid.sv-page-horizontal-layout img{height:60vh}}
@media(max-width:480px){.sv-portfolio-grid.sv-page-grid-layout{grid-template-columns:1fr}}
/* Portfolio folder fallback cover only: does not affect existing designs when a featured image exists. */
.sv-folder-placeholder{min-height:320px;background:linear-gradient(135deg,#302820,#151515);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-family:var(--serif);font-size:24px;letter-spacing:.04em}
.sv-empty-state{padding:60px 30px;border:1px solid var(--line);text-align:center;background:#fff}
.sv-empty-state h3{font-family:var(--serif);font-size:30px;margin:0 0 10px}


/* SV portfolio folder workflow fix: portfolio page shows brand/client folders only, with Fluxus-like horizontal scroll. */
.sv-folder-page-wrap{padding-top:54px;padding-bottom:54px;overflow:hidden}
.sv-folder-scroll{display:flex;gap:34px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:0 0 22px;cursor:grab}
.sv-folder-scroll.dragging{cursor:grabbing;user-select:none}
.sv-folder-scroll::-webkit-scrollbar{height:8px}.sv-folder-scroll::-webkit-scrollbar-track{background:#f2f2f2}.sv-folder-scroll::-webkit-scrollbar-thumb{background:#111}
.sv-folder-card{flex:0 0 clamp(280px,32vw,520px);scroll-snap-align:start;margin:0}
.sv-folder-card a{display:block;position:relative;overflow:hidden;background:#eee;color:#fff;min-height:420px}
.sv-folder-card img{width:100%;height:70vh;max-height:680px;min-height:420px;object-fit:cover;transition:.35s}
.sv-folder-card span{position:absolute;left:0;right:0;bottom:0;padding:38px 26px;background:linear-gradient(transparent,rgba(0,0,0,.68));color:#fff}
.sv-folder-card strong{display:block;text-transform:uppercase;font-size:28px;letter-spacing:.04em;line-height:1.08}
.sv-folder-card em{display:block;margin-top:8px;font-style:normal;text-transform:uppercase;font-size:12px;letter-spacing:.14em;opacity:.88}
.sv-folder-card:hover img{transform:scale(1.03)}
.sv-scroll-hint{text-align:center;color:#777;text-transform:uppercase;letter-spacing:.14em;font-size:11px;margin:8px 0 0}
@media(max-width:760px){.sv-folder-page-wrap{padding:34px 18px}.sv-folder-scroll{gap:18px}.sv-folder-card{flex-basis:82vw}.sv-folder-card a{min-height:360px}.sv-folder-card img{height:58vh;min-height:360px}.sv-folder-card strong{font-size:22px}}


/* SV 1.1.3 Portfolio folder-only Fluxus strip fix - no homepage/header/footer changes */
body.page-template-template-portfolio .sv-filters,
body.page-template-template-portfolio-landing .sv-filters,
body.post-type-archive-portfolio .sv-filters{display:none!important}
.sv-folder-page-wrap{padding-top:46px!important;padding-bottom:46px!important;overflow:hidden!important}
.sv-folder-scroll{display:flex!important;flex-wrap:nowrap!important;gap:24px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important;padding:0 0 22px!important;cursor:grab!important;align-items:flex-start!important}
.sv-folder-scroll.dragging{cursor:grabbing!important;user-select:none!important}
.sv-folder-card{flex:0 0 auto!important;width:clamp(260px,26vw,420px)!important;margin:0!important;scroll-snap-align:start!important}
.sv-folder-card a{display:block!important;position:relative!important;overflow:hidden!important;background:#eee!important;color:#fff!important;aspect-ratio:4/5!important;min-height:0!important;height:auto!important}
.sv-folder-card img{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;transition:.35s!important}
.sv-folder-card .sv-folder-placeholder{height:100%!important;min-height:0!important}
.sv-folder-card span{position:absolute!important;left:0!important;right:0!important;bottom:0!important;padding:34px 24px!important;background:linear-gradient(transparent,rgba(0,0,0,.72))!important;color:#fff!important}
.sv-folder-card strong{display:block!important;text-transform:uppercase!important;font-size:24px!important;letter-spacing:.04em!important;line-height:1.08!important}
.sv-folder-card em{display:block!important;margin-top:8px!important;font-style:normal!important;text-transform:uppercase!important;font-size:11px!important;letter-spacing:.14em!important;opacity:.88!important}
.sv-scroll-hint{font-size:12px!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:#777!important;margin:10px 0 0!important}
@media(max-width:760px){.sv-folder-page-wrap{padding:30px 18px!important}.sv-folder-scroll{gap:16px!important}.sv-folder-card{width:78vw!important}.sv-folder-card strong{font-size:21px!important}}

/* SV FIX: Single portfolio horizontal gallery should preserve original image proportions.
   Images are not cropped, stretched, or distorted. */
.single-portfolio .sv-gallery-horizontal{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
  padding-bottom:16px!important;
  cursor:grab!important;
}
.single-portfolio .sv-gallery-horizontal.dragging{
  cursor:grabbing!important;
  user-select:none!important;
}
.single-portfolio .sv-gallery-horizontal figure{
  flex:0 0 auto!important;
  width:auto!important;
  height:70vh!important;
  max-height:760px!important;
  min-height:420px!important;
  margin:0!important;
  background:transparent!important;
  scroll-snap-align:start!important;
  overflow:visible!important;
}
.single-portfolio .sv-gallery-horizontal figure a{
  display:block!important;
  height:100%!important;
}
.single-portfolio .sv-gallery-horizontal img{
  width:auto!important;
  max-width:none!important;
  height:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
}
@media(max-width:760px){
  .single-portfolio .sv-gallery-horizontal figure{
    height:58vh!important;
    min-height:320px!important;
  }
}

/* SV deep scroll behaviour fix only: no visual design change */
.single-portfolio .sv-gallery-horizontal,
.sv-folder-scroll,
.sv-page-horizontal-layout{
  overscroll-behavior-x: contain!important;
  overscroll-behavior-y: contain!important;
  touch-action: pan-x!important;
  cursor: grab!important;
}
.single-portfolio .sv-gallery-horizontal.dragging,
.sv-folder-scroll.dragging,
.sv-page-horizontal-layout.dragging{
  cursor: grabbing!important;
  user-select:none!important;
}
.single-portfolio .sv-gallery-horizontal a,
.single-portfolio .sv-gallery-horizontal img,
.sv-folder-scroll a,
.sv-folder-scroll img,
.sv-page-horizontal-layout a,
.sv-page-horizontal-layout img{
  -webkit-user-drag:none!important;
  user-select:none!important;
}

/* SV 1.2.0 click safety: portfolio folder links must stay clickable */
.sv-folder-scroll a{pointer-events:auto!important}
.sv-folder-scroll.dragging a{pointer-events:auto!important}

/* SV 1.3.0 robust portfolio-only fix: no intro/featured banner on Portfolio templates. */
body.page-template-template-portfolio .sv-page-hero,
body.page-template-template-portfolio-landing .sv-page-hero{display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;}
body.page-template-template-portfolio .sv-folder-page-wrap,
body.page-template-template-portfolio-landing .sv-folder-page-wrap{padding-top:52px!important;}

/* SV 1.4.0 portfolio-only responsive + no single-folder banner fix. No homepage/header/footer design changes. */
html,body{min-height:100%;}
body{min-height:100vh;display:flex;flex-direction:column;}
.sv-main{flex:1 0 auto;display:block;}
.sv-footer{flex-shrink:0;}

body.page-template-template-portfolio .sv-page-hero,
body.page-template-template-portfolio-landing .sv-page-hero,
body.single-portfolio .sv-page-hero,
body.single-portfolio .sv-portfolio-head{display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;}

.sv-single-portfolio-toolbar{display:flex;align-items:center;gap:22px;justify-content:space-between;padding-top:18px!important;padding-bottom:16px!important;border-bottom:1px solid var(--line);}
.sv-single-portfolio-toolbar h1{font-family:var(--serif);font-size:24px;font-weight:400;margin:0;line-height:1.1;}
.sv-single-portfolio-toolbar a,.sv-single-portfolio-toolbar span{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#777;white-space:nowrap;}
.sv-single-portfolio-gallery-wrap{padding-top:24px!important;padding-bottom:24px!important;}

/* portfolio folder page starts immediately with folders */
body.page-template-template-portfolio .sv-folder-page-wrap,
body.page-template-template-portfolio-landing .sv-folder-page-wrap{padding-top:28px!important;padding-bottom:30px!important;min-height:calc(100vh - 170px);}

/* Robust portfolio horizontal containers */
.sv-folder-scroll,
.single-portfolio .sv-gallery-horizontal{overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;scroll-behavior:auto!important;overscroll-behavior:contain!important;}
.single-portfolio .sv-gallery-horizontal{display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;gap:8px!important;padding-bottom:18px!important;}
.single-portfolio .sv-gallery-horizontal figure{flex:0 0 auto!important;width:auto!important;height:calc(100vh - 205px)!important;min-height:360px!important;max-height:760px!important;margin:0!important;background:transparent!important;overflow:visible!important;}
.single-portfolio .sv-gallery-horizontal figure a{display:block!important;height:100%!important;}
.single-portfolio .sv-gallery-horizontal img{width:auto!important;max-width:none!important;height:100%!important;object-fit:contain!important;display:block!important;}

@media(max-width:1024px){
  .sv-header{height:auto;min-height:74px;padding:16px 20px;align-items:center;}
  .sv-brand{max-width:calc(100% - 56px);}
  .sv-name{font-size:24px;}
  .sv-divider{height:34px;margin:0 14px;}
  .sv-tagline{font-size:10px;letter-spacing:.12em;white-space:normal;line-height:1.2;}
  .sv-menu-toggle{display:flex!important;}
  .sv-nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);display:none;padding:12px 22px;}
  .sv-nav.is-open{display:block;}
  .sv-menu{display:block!important;gap:0!important;}
  .sv-menu a{padding:12px 0!important;}
  .sv-menu .sub-menu{position:static!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important;padding:0 0 0 18px!important;display:none;}
  .sv-menu .menu-item-has-children.is-open>.sub-menu{display:block;}
}

@media(max-width:760px){
  body.page-template-template-portfolio .sv-folder-page-wrap,
  body.page-template-template-portfolio-landing .sv-folder-page-wrap{padding:18px 14px 26px!important;min-height:calc(100vh - 170px);}
  .sv-folder-scroll{gap:14px!important;padding-bottom:16px!important;}
  .sv-folder-card{width:78vw!important;}
  .sv-folder-card span{padding:24px 18px!important;}
  .sv-folder-card strong{font-size:20px!important;}
  .sv-single-portfolio-toolbar{padding:14px 16px!important;gap:10px;flex-wrap:wrap;}
  .sv-single-portfolio-toolbar h1{font-size:22px;order:3;width:100%;}
  .sv-single-portfolio-gallery-wrap{padding:16px 14px 20px!important;}
  .single-portfolio .sv-gallery-horizontal figure{height:62vh!important;min-height:300px!important;}
  .sv-footer{display:block!important;text-align:center;padding:24px 18px!important;}
  .sv-footer-left,.sv-footer-center,.sv-footer-right{margin:10px 0!important;justify-content:center!important;}
}

@media(max-width:520px){
  .sv-brand{align-items:flex-start;}
  .sv-name{font-size:20px;line-height:1.05;}
  .sv-divider{display:none;}
  .sv-brand{display:block;}
  .sv-tagline{display:block;margin-top:4px;font-size:9px;}
  .single-portfolio .sv-gallery-horizontal figure{height:58vh!important;}
}

/* SV mobile-only portfolio vertical feed fix. Desktop Fluxus-style horizontal layout is unchanged. */
@media (max-width: 760px){
  body.page-template-template-portfolio,
  body.page-template-template-portfolio-landing,
  body.single-portfolio{
    overflow-x:hidden!important;
  }

  /* Portfolio folder page: mobile becomes Instagram-style vertical feed */
  body.page-template-template-portfolio .sv-folder-page-wrap,
  body.page-template-template-portfolio-landing .sv-folder-page-wrap{
    padding:18px 14px 28px!important;
    min-height:auto!important;
    overflow:visible!important;
  }
  body.page-template-template-portfolio .sv-folder-scroll,
  body.page-template-template-portfolio-landing .sv-folder-scroll{
    display:block!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    white-space:normal!important;
    scroll-snap-type:none!important;
    padding:0!important;
    cursor:auto!important;
    touch-action:pan-y!important;
  }
  body.page-template-template-portfolio .sv-folder-card,
  body.page-template-template-portfolio-landing .sv-folder-card{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 18px!important;
    flex:none!important;
    scroll-snap-align:none!important;
  }
  body.page-template-template-portfolio .sv-folder-card a,
  body.page-template-template-portfolio-landing .sv-folder-card a{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/5!important;
  }
  body.page-template-template-portfolio .sv-folder-card img,
  body.page-template-template-portfolio-landing .sv-folder-card img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  body.page-template-template-portfolio .sv-scroll-hint,
  body.page-template-template-portfolio-landing .sv-scroll-hint{
    display:none!important;
  }

  /* Inside portfolio folder: mobile becomes vertical natural image feed */
  body.single-portfolio .sv-single-portfolio-gallery-wrap{
    padding:14px 14px 26px!important;
    overflow:visible!important;
  }
  body.single-portfolio .sv-gallery-horizontal{
    display:block!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    white-space:normal!important;
    scroll-snap-type:none!important;
    padding:0!important;
    cursor:auto!important;
    touch-action:pan-y!important;
  }
  body.single-portfolio .sv-gallery-horizontal figure{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 0 14px!important;
    overflow:visible!important;
    scroll-snap-align:none!important;
  }
  body.single-portfolio .sv-gallery-horizontal figure a{
    display:block!important;
    height:auto!important;
  }
  body.single-portfolio .sv-gallery-horizontal img{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* SV portfolio folder cover sizing fix: desktop folder covers match inner gallery image height/alignment. No other layout changes. */
@media (min-width: 761px){
  body.page-template-template-portfolio .sv-folder-page-wrap,
  body.page-template-template-portfolio-landing .sv-folder-page-wrap{
    display:flex!important;
    align-items:center!important;
    min-height:calc(100vh - 150px)!important;
    padding-top:18px!important;
    padding-bottom:18px!important;
    overflow:hidden!important;
  }
  body.page-template-template-portfolio .sv-folder-scroll,
  body.page-template-template-portfolio-landing .sv-folder-scroll{
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    min-height:calc(100vh - 190px)!important;
    padding:0 0 18px!important;
  }
  body.page-template-template-portfolio .sv-folder-card,
  body.page-template-template-portfolio-landing .sv-folder-card{
    flex:0 0 auto!important;
    width:auto!important;
    height:calc(100vh - 205px)!important;
    min-height:360px!important;
    max-height:760px!important;
    margin:0!important;
  }
  body.page-template-template-portfolio .sv-folder-card a,
  body.page-template-template-portfolio-landing .sv-folder-card a{
    display:inline-block!important;
    width:auto!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    background:transparent!important;
    overflow:hidden!important;
  }
  body.page-template-template-portfolio .sv-folder-card img,
  body.page-template-template-portfolio-landing .sv-folder-card img{
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
  }
  body.page-template-template-portfolio .sv-folder-card .sv-folder-placeholder,
  body.page-template-template-portfolio-landing .sv-folder-card .sv-folder-placeholder{
    width:420px!important;
    height:100%!important;
  }
  body.page-template-template-portfolio .sv-folder-card span,
  body.page-template-template-portfolio-landing .sv-folder-card span{
    left:0!important;
    right:0!important;
    bottom:0!important;
  }
}


/* SV 1.8.3 scroll-only fix: make portfolio desktop strips real scroll containers without visual/layout change. */
@media (min-width: 761px){
  body.page-template-template-portfolio .sv-folder-scroll,
  body.page-template-template-portfolio-landing .sv-folder-scroll,
  body.single-portfolio .sv-gallery-horizontal{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:auto!important;
    scroll-snap-type:none!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:auto!important;
  }
}


/* SV 1.8.4 Portfolio-only right whitespace fix: remove scroll hint/extra blank area. */
body.page-template-template-portfolio .sv-scroll-hint,
body.page-template-template-portfolio-landing .sv-scroll-hint{display:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}
body.page-template-template-portfolio .sv-folder-page-wrap,
body.page-template-template-portfolio-landing .sv-folder-page-wrap{overflow:hidden!important;}


/* Home category thumbnails: applies only when a Portfolio Category thumbnail image is selected. */
.sv-cat-card.has-image{background-color:#242424;background-size:cover;background-position:center}
.sv-cat-card.has-image:before{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72));opacity:1}
.sv-cat-card.has-image:hover:before{background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.62));opacity:1}
.sv-cat-card.has-image span{z-index:2;text-shadow:0 1px 12px rgba(0,0,0,.45)}
