/* Vincenzo Cilino — Editorial rebuild, October 2026. No external fonts or trackers. */
:root{--ink:#12252c;--ink2:#324951;--cream:#f7f6f1;--paper:#fffefa;--muted:#5d7075;--line:#d8e0de;--dark:#112126;--accent:#b1d866;--gold:#d8a66d;--wide:1190px;--radius:6px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,'Segoe UI',Arial,Helvetica,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{text-decoration:none}
button{font:inherit}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid #7fa52b;outline-offset:4px}
::selection{background:var(--accent);color:var(--ink)}
.wrap{width:min(var(--wide),calc(100% - 72px));margin-inline:auto}
.skip{position:absolute;top:-100px;left:1rem;padding:.75rem 1rem;background:var(--accent);z-index:999}
.skip:focus{top:1rem}
.topline{background:#101c20;color:#b7c8c7;font-size:.65rem;letter-spacing:.15em;font-weight:700}
.topline .wrap{display:flex;justify-content:space-between;gap:1rem;padding:9px 0}
.site-header{position:sticky;top:0;z-index:30;background:rgba(247,246,241,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{font-size:1.7rem;font-weight:900;line-height:1;letter-spacing:-.12em;display:inline-flex;align-items:center;gap:0;color:var(--ink)}
.brand-dot{color:#7eac3c;margin-right:.9rem}
.brand-name{letter-spacing:.11em;font-size:.64rem;line-height:1.35;font-weight:800}
.nav{display:flex;gap:2rem;align-items:center}
.nav a{font-size:.75rem;color:var(--ink2);font-weight:760;letter-spacing:.035em;transition:color .15s ease;position:relative}
.nav a:hover,.nav a.active{color:#45792a}
.nav a.active:after{content:'';position:absolute;height:2px;background:#78a13e;left:0;right:0;bottom:-13px}
.menu-toggle{display:none}
h1,h2,h3,h4{letter-spacing:-.055em;line-height:1.1;margin:0;font-weight:770}
h1{font-size:clamp(3.35rem,7vw,6.7rem)}
h2{font-size:clamp(2.15rem,4.35vw,4.4rem)}
h3{font-size:1.5rem}
p{margin:0 0 1.15rem}p:last-child{margin-bottom:0}
em{font-family:Georgia,'Times New Roman',serif;font-weight:450;letter-spacing:-.08em}
.eyebrow,.smallcaps{font-size:.69rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:26px;color:#587b65}
.eyebrow-rule{width:28px;height:3px;background:#a4c95a}
.lead{font-size:clamp(1.14rem,1.55vw,1.37rem);font-weight:410;line-height:1.66;color:#3f575c;max-width:630px}
.narrow{max-width:770px}
.hero{min-height:650px;padding-block:98px 108px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px}
.hero h1{margin-bottom:34px}
.hero .lead{max-width:570px;margin-bottom:29px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:39px}
.button{display:inline-flex;align-items:center;gap:22px;justify-content:center;font-size:.79rem;letter-spacing:.02em;font-weight:770;padding:14px 23px;border:1px solid var(--ink);min-height:52px;transition:transform .15s,background .15s}
.button:hover{transform:translateY(-2px)}
.button.primary{background:var(--dark);color:#f7f6f1}
.button.primary:hover{background:#38574f}
.button.outline{background:transparent;color:var(--ink)}
.hero-visual{aspect-ratio:1/1.06;max-width:500px;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:27px;border:1px solid #4a6a5c;box-shadow:16px 16px 0 #dee8d5;background:radial-gradient(circle at 72% 16%,#2f5b50 0,transparent 32%),linear-gradient(155deg,#14292c,#1b3939);color:#e3f3ea;position:relative;overflow:hidden}
.hero-visual:before{content:'';position:absolute;inset:0;opacity:.2;background-image:linear-gradient(to right,#b8f8e2 1px,transparent 1px),linear-gradient(to bottom,#b8f8e2 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(120deg,transparent,#000)}
.visual-kicker,.visual-foot{font-size:.65rem;letter-spacing:.13em;font-weight:780;position:relative;display:flex;justify-content:space-between;align-items:center;gap:8px}
.visual-kicker span{color:#adcb8a}
.visual-foot{justify-content:flex-start;color:#b5d0c1}
.live-dot{width:9px;height:9px;border-radius:50%;background:#a6d568;box-shadow:0 0 12px #a6d568}
.flow{align-items:center;display:grid;grid-template-columns:1fr 25px 1fr;gap:16px;position:relative;transform:rotate(-4deg)}
.flow>div{height:100px;border:1px solid #90b7a8;background:#1b3637;display:flex;flex-direction:column;justify-content:space-between;padding:14px;box-shadow:6px 6px 0 #132627}
.flow>div b{font-size:2.1rem;font-weight:500;letter-spacing:-.07em}
.flow>div span{font-size:.61rem;letter-spacing:.15em;font-weight:700;color:#bfd5c4}
.flow>div.complete{background:var(--accent);color:#1c3032;border-color:#bde681}
.flow>div.complete span{color:#1c3032}
.flow>i{color:var(--accent);font-size:1.5rem;font-style:normal;text-align:center}
.flow>div:nth-of-type(2){grid-column:3}
.flow>i:nth-of-type(2){grid-column:2;transform:rotate(130deg)}
.flow>div:nth-of-type(3){grid-column:1}
.flow>i:nth-of-type(3){grid-column:2}
.flow>div:nth-of-type(4){grid-column:3}
.intro-band{background:#e2e8df;border-top:1px solid #d2e0d0;border-bottom:1px solid #d2e0d0;padding:67px 0}
.intro-band-inner{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}
.intro-band h2{margin-top:13px;font-size:clamp(2rem,3.55vw,3.65rem)}
.intro-band p{font-size:1.09rem;color:#405951;line-height:1.85}
.card-section{padding:94px 0;background:var(--cream)}
.card-section h2{margin-bottom:18px}
.section-intro{color:var(--muted);font-size:1.07rem;margin-bottom:31px;max-width:740px}
.tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:30px}
.tile{min-height:259px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:32px;border:1px solid var(--line);background:var(--paper);transition:background .16s,border-color .16s,transform .16s}
.tile:hover{background:#f0f4eb;border-color:#aebdb2;transform:translateY(-3px)}
.tile-kicker{display:flex;justify-content:space-between;align-items:center;width:100%;color:#5b7c67;font-size:.69rem;font-weight:850;letter-spacing:.13em}
.tile-kicker span{font-size:1.15rem}
.tile h3{font-size:clamp(1.45rem,2.3vw,2.2rem);margin-top:auto;margin-bottom:12px;max-width:90%}
.tile p{font-size:.95rem;line-height:1.67;color:var(--muted);max-width:430px}
.statement{background:var(--dark);color:#ecf4ec;padding:85px 0}
.statement p{max-width:1000px;font-size:clamp(1.65rem,3.4vw,3.1rem);line-height:1.35;letter-spacing:-.05em;font-weight:650}
.statement em{color:var(--accent)}
.page-hero{padding:90px 0 87px;border-bottom:1px solid var(--line)}
.page-hero h1{max-width:1030px;font-size:clamp(3rem,6.8vw,6.1rem);margin-bottom:30px}
.tag-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
.tag{border:1px solid #bdccc2;font-size:.7rem;color:#53715a;font-weight:650;padding:5px 12px;letter-spacing:.04em}
.block{padding:76px 0;border-bottom:1px solid var(--line)}
.block:nth-of-type(even){background:#f0f3eb}
.section-grid{display:grid;grid-template-columns:245px 1fr;gap:60px}
.section-side{padding-top:11px;color:#65806e}
.section-main{max-width:820px}
.section-main h2{font-size:clamp(1.95rem,3.7vw,3.5rem);margin-bottom:30px}
.section-main p{font-size:1.07rem;color:#3d555b;line-height:1.92;max-width:770px}
.section-main a:not(.button){text-decoration:underline;text-decoration-color:#89a8a0;text-underline-offset:4px}
.section-main a:hover{color:#4c7f28}
.clean-list{list-style:none;padding:0;margin:23px 0 0;max-width:780px}
.clean-list li{border-bottom:1px solid #dce3dd;padding:13px 0 13px 27px;position:relative;color:#39545a;font-size:1.04rem}
.clean-list li:before{content:'↗';position:absolute;left:0;color:#628d44}
pre{white-space:pre;overflow:auto;background:#162b2c;color:#e6f1e7;border-left:4px solid var(--accent);padding:23px 27px;margin:20px 0 29px;line-height:1.6;font-size:.9rem}
code{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;font-size:.9em}
.editor-note{margin:52px auto;padding:21px 26px;width:min(1000px,calc(100% - 72px));color:#506566;background:#e9eee6;border-left:3px solid #93bd6d;font-size:.9rem}
.editor-note a{text-decoration:underline}
.footer-cta{background:var(--accent);padding:60px 0}
.footer-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.footer-cta h2{font-size:clamp(2.3rem,4.7vw,4.7rem);margin-top:10px}
.footer-button{background:var(--dark);color:white;border-color:var(--dark)}
.site-footer{background:#112126;color:#c6d5d1;padding:68px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px;padding-bottom:72px}
.footer-brand{color:#f0f5ed}
.footer-brand .brand-name{color:#eaf0e7}
.footer-grid p{font-size:.91rem;max-width:350px;color:#9fb4ae;margin-top:18px}
.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer-grid .smallcaps{color:#95b7a3;margin-bottom:12px}
.footer-grid a:not(.brand){color:#d2e1dc;font-size:.92rem}
.footer-grid a:hover{color:var(--accent)}
.footer-bottom{border-top:1px solid #334a4c;display:flex;justify-content:space-between;padding:24px 0 29px;color:#91aaa4;font-size:.75rem;gap:15px}
@media(max-width:1020px){.nav{gap:1rem}.section-grid{grid-template-columns:190px 1fr;gap:35px}.hero{gap:40px;min-height:570px}.flow{gap:8px}.flow>div{height:80px}}
@media(max-width:760px){.wrap{width:min(var(--wide),calc(100% - 40px))}.topline .wrap span:last-child{display:none}.header-inner{height:70px}.menu-toggle{display:flex;border:1px solid #bbc8c1;align-items:center;justify-content:center;gap:5px;flex-direction:column;width:45px;height:43px;background:transparent;cursor:pointer}.menu-toggle span{width:18px;height:2px;background:var(--ink)}.nav{position:absolute;top:70px;left:0;right:0;background:var(--cream);border-bottom:1px solid #cddbd2;padding:16px 20px 25px;display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 15px #12252c15}.nav.open{display:flex}.nav a{padding:12px 4px;border-bottom:1px solid #e3e9e3;font-size:.95rem}.nav a.active:after{display:none}.hero{grid-template-columns:1fr;gap:35px;padding-block:70px}.hero h1{font-size:clamp(3.2rem,10vw,5rem)}.hero-visual{max-width:440px;aspect-ratio:1.25;box-shadow:8px 8px 0 #dee8d5}.intro-band-inner{grid-template-columns:1fr;gap:20px}.card-section{padding:66px 0}.tile-grid{grid-template-columns:1fr}.tile{min-height:210px}.page-hero{padding:65px 0 60px}.section-grid{grid-template-columns:1fr;gap:12px}.block{padding:57px 0}.section-main h2{margin-bottom:22px}.footer-cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:span 2}.footer-bottom{flex-wrap:wrap}.editor-note{width:calc(100% - 40px)}}
@media(max-width:420px){.hero-visual{aspect-ratio:1/1.04;padding:18px}.flow>div{height:72px;padding:10px}.flow>div b{font-size:1.5rem}.flow>div span{font-size:.52rem}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.tile{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.tile{transition:none}}

/* Version 3 image galleries — deliberately review-first */
.photo-section{padding:80px 0 110px;background:#e9ede6;border-top:1px solid #d4ded4}
.photo-heading{margin-bottom:32px;max-width:720px}.photo-heading h2{font-size:clamp(2rem,3.7vw,3.8rem);margin:12px 0 20px}.photo-heading p{color:#4d645e;line-height:1.7}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-tile{margin:0;background:#f7f7f2;border:1px solid #ced5cc;min-width:0}
.photo-tile img{display:block;width:100%;height:260px;object-fit:contain;background:#dce4dd}.photo-tile figcaption{padding:13px 16px;font-size:.73rem;line-height:1.5;color:#61706b}
@media(max-width:950px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.photo-section{padding:55px 0 75px}.photo-grid{grid-template-columns:1fr}.photo-tile img{height:auto;max-height:380px}}

/* Legacy-structure reset — preserve modern styling, original WordPress navigation */
.header-inner{height:auto;min-height:96px;padding-block:17px;gap:24px}
.site-header .brand{flex:0 0 auto}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(.45rem,1.0vw,1.2rem);flex-wrap:wrap}
.nav>a{font-size:.71rem;line-height:1.45;text-align:center;white-space:normal}
.nav-dropdown{position:relative;flex:0 0 auto}
.nav-dropdown summary{list-style:none;cursor:pointer;font-size:.73rem;color:var(--ink2);font-weight:760;letter-spacing:.025em;padding:8px 2px}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary span{color:#628a3c;margin-left:4px}
.nav-dropdown[open] summary{color:#45792a}
.nav-submenu{position:absolute;top:calc(100% + 7px);right:0;min-width:245px;max-width:90vw;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 35px #12252c22;z-index:40;padding:11px;display:flex;flex-direction:column;gap:0}
.nav-submenu a{display:block;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:.85rem}
.nav-submenu a:last-child{border-bottom:0}
.nav-submenu a:hover{background:#edf2e7}
.legacy-hero{padding-block:92px 80px;max-width:1150px}
.legacy-hero h1{max-width:950px;margin-bottom:25px;font-size:clamp(3.0rem,6.9vw,6.4rem)}
.legacy-hero .lead{max-width:795px}
.legacy-note{margin-top:28px;font-size:.94rem;color:var(--muted)}
@media(max-width:980px){
 .header-inner{min-height:85px}
 .nav{gap:.5rem}
 .nav>a{font-size:.67rem}
}
@media(max-width:760px){
 .header-inner{min-height:70px;padding-block:0}
 .nav{position:absolute;top:70px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;max-height:calc(100dvh - 70px);overflow:auto;flex-wrap:nowrap;padding:12px 20px 30px}
 .nav.open{display:flex}
 .nav>a{text-align:left;font-size:.91rem;padding:11px 4px}
 .nav-dropdown{width:100%}
 .nav-dropdown summary{font-size:.91rem;padding:14px 4px;border-bottom:1px solid var(--line)}
 .nav-submenu{position:static;border:0;box-shadow:none;min-width:0;max-width:none;background:#edf2ea;padding:7px 14px}
 .legacy-hero{padding-block:62px}
}


/* V4.2 corrective pass: prioritise navigation legibility and sparse homepage. */
:root{--wide:1340px}
body{font-size:17px}
.wrap{width:min(var(--wide),calc(100% - 72px))}
.site-header{position:relative;background:#f7f6f1}
.brand-strip{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{font-size:2.2rem;letter-spacing:-.11em}
.brand-name{font-size:1.08rem;letter-spacing:-.018em;line-height:1.2}
.brand-caption{font-size:.9rem;font-weight:550;color:#506970;letter-spacing:0}
.navigation-band{border-top:1px solid #d7e1da;border-bottom:1px solid #cddacf;background:#e8eee7}
.navigation-row{min-height:69px;display:flex;align-items:center}
.site-header .nav{width:100%;display:flex;justify-content:space-between;flex-wrap:nowrap;align-items:center;gap:clamp(11px,1.35vw,25px)}
.site-header .nav>a,.site-header .nav-dropdown summary{font-size:clamp(.82rem,.89vw,.98rem);line-height:1.3;font-weight:690;letter-spacing:0;padding:20px 2px;white-space:nowrap;text-align:left}
.site-header .nav>a.active:after{bottom:9px;height:2px}
.site-header .nav-dropdown summary{list-style:none}
.site-header .nav-submenu{min-width:235px;top:calc(100% + 1px);right:0}
.site-header .nav-submenu a{font-size:.96rem;padding:12px}
.site-header .nav-submenu a.active:after{display:none}
.simple-home{padding:100px 0 25px;max-width:960px}
.simple-home h1{font-size:clamp(3.1rem,5.1vw,5.6rem);letter-spacing:-.07em;line-height:1.15;margin:0 0 32px;max-width:900px}
.home-lead{font-size:clamp(1.28rem,1.55vw,1.55rem);line-height:1.65;max-width:790px;color:#40585b;margin:0}
.home-intro{max-width:960px;padding:16px 0 145px}
.home-intro p{font-size:1.13rem;line-height:1.9;max-width:780px;color:#435a5e}
.simple-footer{padding:27px 0}
.footer-simple{display:flex;justify-content:space-between;gap:1.5rem;font-size:.87rem;color:#cbdad2}
.page-hero{padding:75px 0 63px}
.page-hero h1{font-size:clamp(2.9rem,5vw,4.8rem);letter-spacing:-.055em}
.long-article{max-width:980px;padding-top:55px;padding-bottom:130px}
.long-article h2{font-size:clamp(1.6rem,2.5vw,2.25rem);line-height:1.2;margin:54px 0 22px;border-bottom:1px solid var(--line);padding-bottom:11px;letter-spacing:-.028em}
.long-article h2:first-child{margin-top:0}
.long-article p,.long-article li{font-size:1.07rem;line-height:1.92;color:#344b51;max-width:780px}
.long-article p{margin-bottom:22px}
.long-article pre{white-space:pre;overflow-x:auto;border-radius:4px;font-size:.9rem;max-width:100%;line-height:1.6}
.long-article code{overflow-wrap:anywhere}
.long-article pre code{overflow-wrap:normal}
.long-article .article-list{padding-left:1.5rem;margin:17px 0 30px}
.long-article .article-list li{padding-left:0;margin:10px 0}
.long-article .table-scroll{overflow-x:auto;max-width:100%;margin:28px 0}
.long-article table{border-collapse:collapse;min-width:650px;width:100%;font-size:.93rem}
.long-article td,.long-article th{border:1px solid #ccdad1;padding:11px 15px;text-align:left}
.long-article tr:nth-child(even){background:#e9eee8}
@media(max-width:1160px){
  .navigation-band .navigation-row{min-height:70px;justify-content:flex-start}
  .menu-toggle{display:flex;gap:5px;align-items:center;justify-content:center;padding:10px 16px;width:auto;height:48px;border:1px solid #aabcb1;background:#f7faf4;cursor:pointer}
  .menu-toggle span{display:none}.menu-toggle b{font-size:.99rem;font-weight:750}
  .site-header .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#f7f6f1;z-index:55;border-top:1px solid #cddbd2;border-bottom:1px solid #cddbd2;padding:20px max(24px,calc((100% - 1340px)/2));flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 30px #12252c20;max-height:calc(100dvh - 130px);overflow-y:auto}
  .site-header .nav.open{display:flex}
  .site-header .nav>a{font-size:1.03rem;padding:14px 4px;border-bottom:1px solid #e1e9e3}
  .site-header .nav-dropdown summary{font-size:1.03rem;padding:14px 4px}
  .site-header .nav-submenu{position:static;box-shadow:none;border:0;min-width:0;background:#ecf1ea;padding:5px 14px}
  .site-header .nav-submenu a{font-size:.98rem}
  .site-header .nav>a.active:after{display:none}
}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.brand-strip{min-height:74px}.brand{font-size:1.9rem}.brand-name{font-size:.93rem}.brand-caption{display:none}.navigation-row{min-height:58px}.navigation-band .navigation-row{min-height:58px}.simple-home{padding:66px 0 20px}.simple-home h1{font-size:clamp(2.55rem,9vw,3.7rem)}.home-intro{padding-bottom:95px}.footer-simple{flex-direction:column}.site-header .nav{max-height:calc(100dvh - 132px)}}


/* V4.3 targeted fix: the author display:flex on .nav-submenu had overridden
   the browser's default hiding of closed <details> content. */
.site-header details.nav-dropdown:not([open]) > .nav-submenu {
  display: none !important;
}
.site-header details.nav-dropdown[open] > .nav-submenu {
  display: flex;
  flex-direction: column;
}
.site-header .nav-dropdown {
  position: relative;
  z-index: 75;
}
.site-header .nav-dropdown summary {
  display: flex;
  align-items: center;
  gap: .35rem;
  cursor: pointer;
  user-select: none;
}
.site-header .nav-dropdown summary:hover { color: #45792a; }
.site-header .nav-submenu {
  flex-direction: column;
  min-width: 252px;
  padding: 8px;
  border-radius: 4px;
  background: #fffefa;
  box-shadow: 0 16px 35px #12252c26;
}
.site-header .nav-submenu a {
  display: block;
  white-space: normal;
  padding: 12px 14px;
  line-height: 1.4;
}
.site-header .nav-submenu a:hover,
.site-header .nav-submenu a:focus-visible { background: #edf2e7; }
/* The footer should follow the viewport on short pages, not float above an empty screen. */
html { min-height: 100%; }
body { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body > main { flex: 1 0 auto; }
body > .site-footer { flex-shrink: 0; }
@media (max-width: 1160px) {
  .site-header .nav-dropdown { width: 100%; }
  .site-header .nav-dropdown summary { width: 100%; padding-inline: 4px; }
  .site-header .nav-submenu {
    position: static; min-width: 0; width: 100%; max-width: 100%;
    border: 0; box-shadow: none; padding: 5px 12px; background: #edf2e7;
  }
  .site-header .nav-submenu a { padding: 12px 10px; }
}


/* VERSION 5 — faithful homepage identity, one video, cleaner navigation. */
:root { --wide: 1660px; --cream: #f8f7f2; --ink: #152930; }
.brand-strip { min-height: 88px; }
.navigation-band { background: #edf1e8; }
.navigation-row { min-height: 76px; }
.site-header .nav { gap: clamp(18px,2vw,38px); justify-content: space-between; }
.site-header .nav > a, .site-header .nav-dropdown summary {
  font-size: clamp(.91rem, 1.1vw, 1.035rem);
  font-weight: 675;
  padding-block: 22px;
  line-height: 1.3;
}
.site-header .nav-dropdown summary { white-space: nowrap; }
.site-header .nav-submenu { background: #fffffb; min-width: 250px; }
.site-header .nav-submenu a { font-size: 1rem; }
.garden-home { min-height: calc(100vh - 220px); padding-bottom: 100px; }
.garden-welcome { max-width: 1080px; padding-top: clamp(68px,6.2vw,126px); text-align: center; }
.garden-welcome .eyebrow { justify-content: center; margin-bottom: 28px; }
.garden-welcome h1 { font-size: clamp(3.4rem,6.1vw,6.8rem); font-weight: 720;
  letter-spacing: -.065em; line-height: 1.06; margin-bottom: 31px; }
.garden-welcome h1 em { display: block; font-style: italic; font-weight: 450;
  letter-spacing: -.07em; color: #315c4a; }
.garden-lead { font-size: clamp(1.18rem,1.55vw,1.42rem); line-height: 1.8;
  color: #3a5156; max-width: 810px; margin: 0 auto; }
.garden-story { max-width: 760px; margin: 28px auto 0; }
.garden-story p { font-size: clamp(1.06rem,1.3vw,1.2rem); line-height: 1.85;
  color: #53686b; }
.garden-feature { max-width: 1160px; margin-top: clamp(60px,7vw,110px); }
.garden-feature-heading { display:flex; justify-content: center; margin-bottom: 18px;
  letter-spacing: .07em; color: #5b7d61; }
.garden-video-shell { background: #14272b; border: 1px solid #526e61;
  box-shadow: 0 18px 50px #14272b18; overflow: hidden; border-radius: 5px; }
.garden-video-shell video { display:block; width:100%; aspect-ratio:16/9; object-fit:contain;
  max-height: min(75vh, 740px); background: #14272b; }
.garden-signoff { max-width: 900px; text-align:center; margin-top: 83px;
  padding-top: 36px; border-top: 1px solid #d6dfd6; }
.garden-signoff p { color: #456054; font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.3rem, 1.7vw, 1.75rem); font-style: italic; margin:0; }
.garden-signoff .garden-signature { font-size: clamp(1.6rem,2.2vw,2.3rem);
  color: #213c35; padding-top: 12px; }
@media(max-width:1560px) {
 .navigation-band .navigation-row { justify-content: flex-start; }
 .menu-toggle {display:flex;gap:5px;align-items:center;justify-content:center;
   padding:10px 18px;width:auto;height:48px;border:1px solid #aabcb1;
   background:#f7faf4;cursor:pointer;}
 .menu-toggle span{display:none}.menu-toggle b{font-size:1rem;font-weight:750}
 .site-header .nav {display:none;position:absolute;top:100%;left:0;right:0;
  background:#f7f6f1;z-index:55;border-top:1px solid #cddbd2;
  border-bottom:1px solid #cddbd2;padding:20px max(24px,calc((100% - 1440px)/2));
  flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 30px #12252c20;
  max-height:calc(100dvh - 130px);overflow-y:auto;}
 .site-header .nav.open{display:flex}
 .site-header .nav>a{font-size:1.03rem;padding:14px 4px;border-bottom:1px solid #e1e9e3}
 .site-header .nav-dropdown summary{font-size:1.03rem;padding:14px 4px}
 .site-header .nav-submenu{position:static;box-shadow:none;border:0;min-width:0;
   background:#ecf1ea;padding:5px 14px}
 .site-header .nav>a.active:after{display:none}
 .site-header .nav-dropdown{width:100%}
}
@media(max-width:760px) {
 .garden-home{padding-bottom:70px}
 .garden-welcome{padding-top:70px}
 .garden-welcome h1{font-size:clamp(2.8rem,10.2vw,4.2rem)}
 .garden-feature{margin-top:52px}
 .garden-signoff{margin-top:58px}
 .garden-video-shell video{aspect-ratio:16/9}
 .brand-strip{min-height:74px}
 .site-header .nav{max-height:calc(100dvh - 132px)}
}


/* V5.1 — One-page-at-a-time homepage refinement.
   Preserve original WordPress spirit: soft video edges fading into the paper,
   editorial two-column introduction, no generic homepage navigation cards.
   Only .garden-home-v51 is affected. */
.garden-home-v51 {
  background:
    radial-gradient(ellipse 70% 34% at 50% 46%, rgba(227,234,221,.32), transparent 90%),
    #f8f7f2;
  padding-bottom: clamp(65px,6vw,118px);
}
.garden-home-v51 .garden-welcome {
  width: min(1080px, calc(100% - 72px));
  max-width: 1080px;
  padding-top: clamp(68px, 6vw, 108px);
  text-align: center;
}
.garden-home-v51 .garden-welcome .eyebrow {
  margin-bottom: clamp(19px, 2.5vw, 33px);
  color: #5b7568;
}
.garden-home-v51 h1 {
  max-width: 1000px;
  margin: 0 auto;
  font-size: clamp(3.5rem, 6.35vw, 6.65rem);
  line-height: 1.08;
  font-weight: 705;
  letter-spacing: -.067em;
  text-wrap: balance;
}
.garden-home-v51 h1 span { display: block; }
.garden-home-v51 h1 em {
  display: block;
  font-size: 1.04em;
  font-weight: 400;
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -.065em;
  color: #416856;
}
.garden-home-v51 .garden-copy-grid {
  max-width: 930px;
  margin: clamp(40px, 5vw, 72px) auto 0;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  column-gap: clamp(36px, 5vw, 74px);
  text-align: left;
  align-items: start;
}
.garden-home-v51 .garden-copy-grid > * { min-width: 0; }
.garden-home-v51 .garden-introduction { padding-top: 4px; }
.garden-home-v51 .garden-reflection {
  margin: 0;
  max-width: none;
  padding: 4px 0 3px clamp(30px,3.5vw,54px);
  border-left: 1px solid #c5d2c6;
}
.garden-home-v51 .garden-overline {
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .74rem;
  color: #647f6c;
  line-height: 1.4;
  letter-spacing: .145em;
  font-weight: 720;
  text-transform: uppercase;
  margin: 0 0 18px;
}
.garden-home-v51 .garden-lead {
  font-size: clamp(1.24rem, 1.7vw, 1.57rem);
  line-height: 1.7;
  font-weight: 420;
  color: #2e4346;
  margin: 0;
  max-width: 440px;
  text-wrap: pretty;
}
.garden-home-v51 .garden-reflection-title {
  margin: 0 0 12px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.72rem,2.45vw,2.24rem);
  letter-spacing: -.045em;
  line-height: 1.23;
  font-weight: normal;
  color: #2f5747;
}
.garden-home-v51 .garden-reflection-title em { font-weight: 400; }
.garden-home-v51 .garden-description {
  font-size: clamp(1.02rem, 1.15vw, 1.11rem);
  line-height: 1.85;
  color: #52676a;
  margin: 0;
  max-width: 440px;
  text-wrap: pretty;
}
.garden-home-v51 .garden-feature {
  max-width: 1260px;
  margin-top: clamp(48px, 5.5vw, 90px);
}
.garden-home-v51 .garden-feature-heading {
  max-width: 1040px;
  margin: 0 auto 5px;
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: flex-start;
  color: #617c68;
}
.garden-home-v51 .garden-feature-line {
  height: 1px;
  background: linear-gradient(to right,#c4d0c4,transparent);
  flex: 1;
  max-width: 240px;
}
.garden-home-v51 .garden-video-shell {
  position: relative;
  overflow: visible;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.garden-home-v51 .garden-video-shell video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-height: none;
  object-fit: contain;
  background: transparent;
  /* The middle remains solid; sides and corners dissolve into the page.
     The lower-center controls remain visible and functional. */
  -webkit-mask-image: radial-gradient(ellipse 55% 84% at 50% 50%, #000 52%, rgba(0,0,0,.84) 65%, rgba(0,0,0,.26) 82%, transparent 100%);
  mask-image: radial-gradient(ellipse 55% 84% at 50% 50%, #000 52%, rgba(0,0,0,.84) 65%, rgba(0,0,0,.26) 82%, transparent 100%);
}
.garden-home-v51 .garden-signoff {
  width: min(930px, calc(100% - 72px));
  max-width: 930px;
  margin-top: clamp(12px,2vw,40px);
  padding-top: clamp(19px,2.6vw,35px);
  text-align: right;
  border-top: 1px solid #d2dbd0;
}
.garden-home-v51 .garden-signoff p {
  font-size: 1.35rem;
  color: #557060;
}
.garden-home-v51 .garden-signoff .garden-signature {
  font-size: clamp(1.55rem,2.2vw,2.1rem);
  padding-top: 5px;
}
@media (max-width: 790px) {
  .garden-home-v51 .garden-welcome { width: calc(100% - 40px); padding-top: 66px; }
  .garden-home-v51 h1 { font-size: clamp(3rem, 8vw, 4.2rem); }
  .garden-home-v51 .garden-copy-grid {
    margin-top: 42px;
    grid-template-columns: 1fr;
    row-gap: 29px;
    max-width: 580px;
  }
  .garden-home-v51 .garden-introduction { padding: 0; }
  .garden-home-v51 .garden-reflection { padding: 24px 0 0; border-left: 0; border-top: 1px solid #c5d2c6; }
  .garden-home-v51 .garden-feature { margin-top: 60px; }
  .garden-home-v51 .garden-signoff { width: calc(100% - 40px); }
}
@media (max-width: 480px) {
  .garden-home-v51 h1 { font-size: clamp(2.55rem, 11vw, 3.2rem); }
  .garden-home-v51 .garden-feature { width: calc(100% - 12px); margin-top: 40px; }
  .garden-home-v51 .garden-feature-heading { padding-inline: 12px; }
  .garden-home-v51 .garden-video-shell video {
    -webkit-mask-image: radial-gradient(ellipse 60% 96% at 50% 50%, #000 55%, rgba(0,0,0,.82) 70%,transparent 100%);
    mask-image: radial-gradient(ellipse 60% 96% at 50% 50%, #000 55%, rgba(0,0,0,.82) 70%,transparent 100%);
  }
  .garden-home-v51 .garden-signoff { text-align: center; }
}


/* V5.2 — User-provided GrowRight botanical artwork behind ONE homepage video.
   Untouched source JPG, visually softened with CSS. No other pages affected.
   Decorative vines behind the video; video edges dissolve into the leaves.
*/
.garden-home-v52 .garden-feature { max-width: 1420px; }
.garden-home-v52 .garden-feature-heading {
  max-width: 1110px;
  padding-inline: clamp(0px, 2vw, 24px);
  margin-bottom: 2px;
}
.garden-home-v52 .garden-video-scene {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin-inline: auto;
  padding: clamp(48px, 5.4vw, 86px) clamp(16px, 5.2vw, 88px);
  background: transparent;
}
/* A single continuous pattern, rather than separate stickers beside the video. */
.garden-home-v52 .garden-video-scene::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url('/assets/growright-leaf-pattern.jpg');
  background-repeat: repeat;
  background-position: center center;
  background-size: clamp(780px, 75vw, 1280px) auto;
  opacity: .49;
  mix-blend-mode: multiply;
  -webkit-mask-image: radial-gradient(ellipse 76% 85% at 50% 50%, #000 43%, rgba(0,0,0,.95) 64%, rgba(0,0,0,.53) 84%, transparent 100%);
  mask-image: radial-gradient(ellipse 76% 85% at 50% 50%, #000 43%, rgba(0,0,0,.95) 64%, rgba(0,0,0,.53) 84%, transparent 100%);
}
/* Soften the outside of the scene into the warm page color. */
.garden-home-v52 .garden-video-scene::after {
  content: '';
  position: absolute;
  z-index: 2;
  pointer-events: none;
  inset: 0;
  background: radial-gradient(ellipse 66% 71% at 50% 50%, transparent 59%, rgba(248,247,242,.18) 75%, #f8f7f2 100%);
}
.garden-home-v52 .garden-video-shell {
  position: relative;
  z-index: 1;
  max-width: 1120px;
  margin-inline: auto;
  overflow: visible;
  background: transparent;
}
.garden-home-v52 .garden-video-shell video {
  width: 100%;
  display: block;
  background: transparent;
  /* Foreground video becomes transparent at the border to reveal green vines. */
  -webkit-mask-image: radial-gradient(ellipse 63% 87% at 50% 48%, #000 52%, rgba(0,0,0,.94) 67%, rgba(0,0,0,.59) 82%, transparent 100%);
  mask-image: radial-gradient(ellipse 63% 87% at 50% 48%, #000 52%, rgba(0,0,0,.94) 67%, rgba(0,0,0,.59) 82%, transparent 100%);
}
.garden-home-v52 .garden-signoff { margin-top: 0; }
@media (max-width: 790px) {
  .garden-home-v52 .garden-video-scene {
    padding: clamp(33px, 7vw, 55px) clamp(10px, 3vw, 26px);
  }
  .garden-home-v52 .garden-video-scene::before {
    background-size: 720px auto;
    opacity: .43;
  }
  .garden-home-v52 .garden-video-shell video {
    -webkit-mask-image: radial-gradient(ellipse 65% 96% at 50% 48%, #000 52%, rgba(0,0,0,.92) 68%, transparent 100%);
    mask-image: radial-gradient(ellipse 65% 96% at 50% 48%, #000 52%, rgba(0,0,0,.92) 68%, transparent 100%);
  }
}
@media (max-width: 480px) {
  .garden-home-v52 .garden-feature { width: calc(100% - 8px); }
  .garden-home-v52 .garden-feature-heading { padding: 0 18px; }
  .garden-home-v52 .garden-video-scene {
    padding: 31px 8px;
  }
  .garden-home-v52 .garden-video-scene::before {
    background-size: 520px auto;
    opacity: .36;
  }
  .garden-home-v52 .garden-video-shell video {
    -webkit-mask-image: radial-gradient(ellipse 68% 100% at 50% 48%, #000 57%, rgba(0,0,0,.86) 75%, transparent 100%);
    mask-image: radial-gradient(ellipse 68% 100% at 50% 48%, #000 57%, rgba(0,0,0,.86) 75%, transparent 100%);
  }
}
