:root{
  --red:#cb0e34;
  --wine:#4d0103;
  --brown:#542c22;
  --green:#5d7f29;
  --olive:#909d33;
  --gold:#dbb242;
  --cream:#f7eddc;
  --paper:#fdf7ed;
  --ink:#1a1a1a;
  --shadow:0 18px 30px rgba(45,26,15,.25);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--red);color:var(--brown);font-family:"Nunito",system-ui,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.site-header{position:fixed;top:18px;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:0 28px;pointer-events:none}
.brand{position:absolute;left:30px;color:white;font-family:"Baloo 2",sans-serif;font-size:34px;font-weight:800;line-height:1;pointer-events:auto;text-shadow:0 2px 8px rgba(0,0,0,.24)}
.nav-pill{display:flex;align-items:center;gap:3px;background:rgba(249,250,255,.82);backdrop-filter:blur(12px);padding:7px;border-radius:999px;box-shadow:0 7px 24px rgba(0,0,0,.12);pointer-events:auto}
.nav-pill a{padding:10px 14px;border-radius:999px;font:700 14px "Poppins",sans-serif;color:var(--ink)}
.nav-pill a:hover{background:white}
.nav-pill .nav-contact{background:var(--ink);color:white}
.menu-button{display:none;pointer-events:auto;border:0;border-radius:999px;background:white;width:44px;height:44px}
.section-clover{position:relative;background-color:#0a6f23;background-image:linear-gradient(rgba(3,72,21,.04),rgba(3,72,21,.04)),url("https://www.figma.com/api/mcp/asset/8920275f-81c7-4155-bc5c-7f215f794e41.png");background-size:cover;background-position:center;background-attachment:fixed}
.hero{min-height:780px;display:grid;place-items:center;text-align:center;padding:120px 24px 80px;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.1),transparent 35%),linear-gradient(to bottom,rgba(0,0,0,.06),rgba(0,0,0,.12));z-index:-1}
.hero-cloud{position:absolute;width:min(760px,78vw);height:290px;top:145px;border-radius:50%;background:rgba(255,255,255,.14);filter:blur(40px);z-index:-1}
.hero-copy{margin-top:-70px;color:white}
.hero-kicker{display:inline-block;background:rgba(255,255,255,.88);color:var(--ink);border-radius:999px;padding:11px 20px;font:700 15px "Poppins",sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.hero h1{font-family:"Baloo 2",sans-serif;font-size:clamp(112px,17vw,245px);line-height:.8;margin:70px 0 24px;letter-spacing:-.08em;text-shadow:0 7px 0 rgba(83,44,34,.22),0 14px 20px rgba(0,0,0,.18)}
.hero h1 span:nth-child(1){color:#fff}
.hero h1 span:nth-child(2){color:#f8ed2e}
.hero h1 span:nth-child(3){color:#fff}
.hero h1 span:nth-child(4){color:#9fd84d}
.hero-copy>p{font-family:"Baloo 2",sans-serif;font-size:clamp(22px,2.5vw,38px);font-weight:700;text-shadow:0 2px 7px rgba(0,0,0,.4)}
.round-cta{display:inline-block;margin-top:12px;background:white;color:var(--brown);padding:13px 22px;border-radius:999px;font-weight:800;box-shadow:0 10px 20px rgba(0,0,0,.18)}
.floating-star{position:absolute;color:#ffef36;font-size:30px;animation:float 5.2s ease-in-out infinite;filter:drop-shadow(0 3px 2px rgba(0,0,0,.2))}.star-a{top:170px;right:21%;}.star-b{top:310px;left:26%;animation-delay:-1.8s}.star-c{top:385px;right:32%;animation-delay:-3s}
@keyframes float{0%,100%{transform:translate3d(0,0,0) rotate(-7deg)}50%{transform:translate3d(18px,-17px,0) rotate(7deg)}}
.paper{background:linear-gradient(120deg,#fffaf0,#f3e4c8);box-shadow:var(--shadow);border:1px solid rgba(118,83,44,.18)}
.about-wrap{padding:120px 7vw 130px}
.about-paper{position:relative;max-width:1220px;margin:auto;min-height:720px;border-radius:10px 10px 36px 36px;padding:90px 70px 74px 420px;transform:rotate(.35deg);overflow:visible}
.about-paper::before{content:"";position:absolute;top:-42px;left:0;width:48%;height:70px;border-radius:28px 28px 0 0;background:#f8edda;box-shadow:inset 0 -1px 0 rgba(0,0,0,.07)}
.about-photo-card{position:absolute;left:78px;top:116px;width:255px;height:335px;background:#fff;padding:16px 16px 54px;transform:rotate(7deg);box-shadow:0 14px 8px rgba(0,0,0,.2);overflow:hidden}
.about-photo-card img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.paperclip{position:absolute;right:24px;top:-16px;font-size:70px;color:#999;transform:rotate(20deg)}
.about-heading small{font:700 36px "Baloo 2",sans-serif}.about-heading h2{position:relative;z-index:2;font:800 clamp(50px,6vw,78px) "Baloo 2",sans-serif;margin:-10px 0 28px;line-height:1;color:var(--brown)}.highlight{display:block;width:500px;max-width:100%;height:28px;background:#e5d4a4;margin-top:-52px;margin-bottom:46px}
.about-story{font:700 20px/1.48 "Nunito",sans-serif;max-width:760px}.about-story strong{color:var(--red)}.about-story .mission{font-size:22px}
.about-tab{position:absolute;right:40px;top:26px;transform:rotate(5deg);font:800 28px/1 "Baloo 2",sans-serif;background:#fffaf2;padding:12px 20px;box-shadow:0 7px 12px rgba(0,0,0,.15)}
.contact-note{position:absolute;left:45px;bottom:52px;width:315px;background:#fff9ee;padding:26px 32px;transform:rotate(-5deg);box-shadow:0 9px 10px rgba(0,0,0,.16)}.contact-note h3{margin:0 0 14px;font:800 28px "Baloo 2",sans-serif;border-bottom:4px solid var(--red);display:inline-block}.contact-note p{margin:8px 0;font-weight:700}.qr-placeholder{width:104px;height:104px;margin:18px auto -64px 105px;background:white;padding:8px;transform:rotate(12deg);box-shadow:0 6px 8px rgba(0,0,0,.15)}
.how{padding:80px 6vw 160px}.how-paper{max-width:1270px;margin:auto;min-height:760px;padding:96px 72px 80px;border-radius:20px;position:relative}.red-label{display:table;margin:0 auto 60px;background:var(--red);color:white;border-radius:15px;padding:10px 24px;font:800 clamp(34px,4vw,52px) "Baloo 2",sans-serif;line-height:1}.tilt-left{transform:rotate(-3deg)}.tilt-right{transform:rotate(3deg)}
.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px 78px}.how-item{position:relative;padding:26px 24px 28px 130px;min-height:205px}.mode-icon{position:absolute;left:10px;top:22px;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;color:white;font:800 42px "Baloo 2",sans-serif;box-shadow:0 8px 0 rgba(0,0,0,.14)}.mode-icon.trivia{background:#62cf5b}.mode-icon.story{background:#5bc6e8}.mode-icon.ask{background:#d49bdf}.mode-icon.quest{background:#ee7e9d}.how-item h3{font:800 30px "Baloo 2",sans-serif;margin:0 0 9px}.how-item p{font-size:18px;line-height:1.55;margin:0;font-weight:700}
.impact{background:#f3e7d7;color:var(--brown)}.gingham{height:36px;background-color:#fff;background-image:linear-gradient(90deg,rgba(203,14,52,.25) 50%,transparent 50%),linear-gradient(rgba(203,14,52,.25) 50%,transparent 50%);background-size:34px 34px}.impact-inner{max-width:1220px;margin:auto;text-align:center;padding:76px 24px 94px}.plate-card{max-width:900px;margin:0 auto 70px;padding:48px;border-radius:50%;background:#f7f1e7;box-shadow:0 14px 30px rgba(0,0,0,.15)}.plate-ring{border:8px double #d6cabc;border-radius:50%;padding:55px 70px}.plate-ring p:first-child{font:800 31px/1.12 "Baloo 2",sans-serif;margin:0 0 25px}.plate-ring p:last-child{font:700 20px/1.4 "Nunito",sans-serif;margin:0}.goals-title{margin-bottom:34px}.goals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.goal{border-radius:16px;color:#fff;padding:42px 24px;font:800 32px/1.08 "Baloo 2",sans-serif;box-shadow:0 10px 0 rgba(65,39,21,.18)}.goal.green{background:var(--green)}.goal.dark{background:var(--wine)}.goal.red{background:var(--red)}.pilot-button{display:inline-block;margin-top:38px;background:#a85b3d;color:white;padding:15px 28px;border-radius:14px;font:800 20px "Baloo 2",sans-serif}
.partners{padding:120px 7vw}.doily-card{position:relative;max-width:1020px;margin:auto;padding:110px 70px 90px;text-align:center;border-radius:25px;background:#fffef7;outline:18px dotted rgba(255,255,255,.9);outline-offset:14px}.partner-logos{display:flex;justify-content:center;gap:60px;flex-wrap:wrap;margin:60px auto}.partner-logo{width:260px;min-height:120px;border:2px solid #ddd;background:#fff;display:grid;place-items:center;padding:20px;font:800 22px "Baloo 2",sans-serif;color:#666;box-shadow:0 8px 13px rgba(0,0,0,.09)}.partner-button{display:inline-block;background:var(--red);color:white;border-radius:14px;padding:14px 24px;font-weight:800}
.team{padding:0 5vw 140px}.team-board{max-width:1230px;margin:auto;border-radius:20px;padding:70px 58px 82px}.team-board>h2{text-align:center;font:800 clamp(38px,5vw,58px) "Baloo 2",sans-serif;margin:0 0 54px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.team-card{text-align:center;background:#fff7eb;padding:24px 20px 30px;box-shadow:0 10px 18px rgba(0,0,0,.13);border-radius:4px}.team-card h3{font:800 31px "Baloo 2",sans-serif;margin:0 0 18px}.team-card img{height:245px;width:100%;object-fit:cover;background:#eee}.team-card h4{color:var(--olive);font:800 19px/1.12 "Baloo 2",sans-serif;margin:26px 0 8px}.team-card p{color:var(--gold);font:800 20px "Baloo 2",sans-serif;margin:0}
.contact-section{padding:80px 3vw 120px}.contact-panel{max-width:1338px;margin:auto;background:white;border-radius:46px;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:72px 80px;box-shadow:0 18px 35px rgba(0,0,0,.2)}.contact-copy h2{font:800 62px "Baloo 2",sans-serif;margin:0 0 18px}.contact-copy p{font:500 19px/1.65 "Poppins",sans-serif}.contact-copy h3{font:800 30px "Baloo 2",sans-serif;margin:50px 0 8px}.contact-copy a{font-family:"Poppins",sans-serif}.contact-form{display:flex;flex-direction:column;gap:22px}.contact-form label{display:flex;flex-direction:column;gap:9px;font:500 14px "Poppins",sans-serif}.contact-form input,.contact-form textarea{border:0;background:#f7f7f7;padding:14px 16px;outline:2px solid transparent;transition:.2s}.contact-form input:focus,.contact-form textarea:focus{outline-color:var(--red)}.contact-form button{border:0;background:#111;color:white;padding:15px;cursor:pointer;font:600 18px "Poppins",sans-serif}.form-note{min-height:24px;margin:0;font-size:14px}
.footer{background:var(--red);color:white;padding:40px 36px 48px}.footer-logo{font:800 54px/1 "Baloo 2",sans-serif}.footer p{font-weight:800;margin:7px 0}
@media(max-width:900px){.site-header{justify-content:flex-end}.brand{left:18px}.nav-pill{display:none;position:absolute;top:58px;right:16px;flex-direction:column;align-items:stretch;width:220px;border-radius:22px;padding:10px}.nav-pill.open{display:flex}.menu-button{display:block}.about-paper{padding:80px 28px 48px;min-height:0}.about-photo-card{position:relative;left:auto;top:auto;margin:-20px auto 45px;width:220px;height:290px}.about-tab{top:18px;right:20px}.contact-note{position:relative;left:auto;bottom:auto;width:min(100%,340px);margin:40px auto 0}.about-heading{text-align:center}.about-story{font-size:17px}.how-grid,.team-grid,.goals-grid,.contact-panel{grid-template-columns:1fr}.how-paper{padding:80px 24px 60px}.how-grid{gap:28px}.how-item{padding-left:110px}.plate-card{border-radius:32px;padding:26px}.plate-ring{border-radius:28px;padding:36px 25px}.contact-panel{padding:48px 28px;gap:40px}.section-clover{background-attachment:scroll}.team-card img{height:300px}.qr-placeholder{margin:18px auto -64px}.hero{min-height:690px}}
@media(max-width:560px){.hero h1{font-size:108px}.hero-copy>p{font-size:23px}.about-wrap,.how,.partners{padding-left:14px;padding-right:14px}.about-paper{padding-left:20px;padding-right:20px}.about-heading small{font-size:28px}.about-heading h2{font-size:46px}.how-item{padding:130px 18px 20px;text-align:center}.mode-icon{left:50%;transform:translateX(-50%)}.team{padding-left:14px;padding-right:14px}.contact-section{padding-left:14px;padding-right:14px}.contact-copy h2{font-size:50px}.goals-grid{gap:16px}.goal{font-size:28px;padding:30px 18px}.partner-logos{gap:24px}.doily-card{padding:90px 20px 65px}.footer{padding-left:20px}.floating-star{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.floating-star{animation:none!important}}


/* === PIKO main hero logo: Figma component 196:913 === */
.hero-copy{
  width:min(92vw,980px);
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hero-piko-logo{
  display:block;
  width:min(78vw,787px);
  height:auto;
  margin:0 auto 18px;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.18));
  transform-origin:center;
  animation:hero-logo-float 6s ease-in-out infinite;
}
@keyframes hero-logo-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
@media(max-width:900px){
  .hero-piko-logo{width:min(88vw,720px)}
}
@media(max-width:560px){
  .hero-piko-logo{width:min(94vw,520px)}
}
@media(prefers-reduced-motion:reduce){
  .hero-piko-logo{animation:none!important}
}

/* Hero logo position adjustment */
.hero-piko-logo{
  transform: translateY(28px);
}
@keyframes hero-logo-float{
  0%,100%{transform:translateY(28px)}
  50%{transform:translateY(21px)}
}


/* === About PIKO + How It Works: user-provided combined artwork === */
.about-how-image-section{
  position:relative;
  width:100%;
  padding:72px 20px 82px;
  background:transparent;
  overflow:visible;
}
.about-how-wrap{
  width:min(1120px,96%);
  margin:0 auto;
}
.about-how-wrap img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.how-anchor{
  position:absolute;
  left:0;
  top:56%;
  width:1px;
  height:1px;
  scroll-margin-top:90px;
}
#about{scroll-margin-top:90px}
@media(max-width:700px){
  .about-how-image-section{padding:38px 4px 48px}
  .about-how-wrap{width:100%}
}

/* Force About + How to use the same background as the opening section */
.about-how-image-section{ background-image:linear-gradient(rgba(3,72,21,.04),rgba(3,72,21,.04)),url("https://www.figma.com/api/mcp/asset/8920275f-81c7-4155-bc5c-7f215f794e41.png"); background-size:cover; background-position:center; }
.about-how-image-section.section-clover{background-color:transparent;}


/* === Cohesive top-page background using user-provided long clover/sky image === */
.section-clover,
.about-how-image-section{
  background-color:#0a6f23 !important;
  background-image:url("assets/piko-cohesive-bg.png") !important;
  background-repeat:no-repeat !important;
  background-size:100% auto !important;
  background-position:center top !important;
}



/* Keep the hero artwork readable above the shared background */
.hero::before{
  background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.06),transparent 38%),
             linear-gradient(to bottom,rgba(0,0,0,.02),rgba(0,0,0,.08)) !important;
}

/* Prevent the red body background from peeking through around the top sections */
body{
  background-color:#0a6f23 !important;
}


/* === Final background behavior: NO OFFSET ===
   Landing, About PIKO, and How It Works all use the exact uploaded image
   starting from its natural top position. */
.section-clover,
.about-how-image-section{
  background-image:url("assets/piko-cohesive-bg.png") !important;
  background-position:center top !important;
  background-size:100% auto !important;
  background-repeat:no-repeat !important;
}


/* === TRUE CONTINUOUS BACKGROUND FIX ===
   One image behind the whole top flow, rather than restarting on each section. */
body{
  background-color:#0a6f23 !important;
}

.page-shell{
  background-image:url("assets/piko-cohesive-bg.png") !important;
  background-position:center top !important;
  background-size:100% auto !important;
  background-repeat:no-repeat !important;
  background-color:#0a6f23 !important;
}

/* Hero + About/How become transparent windows onto the SAME background */
.section-clover,
.about-how-image-section{
  background:none !important;
  background-color:transparent !important;
  background-image:none !important;
}

/* Remove any pseudo-element/background overlays that could create a seam */
.about-how-image-section::before,
.about-how-image-section::after{
  background:none !important;
}


/* === Landing + About/How share ONE background element ===
   This eliminates the visible seam because the image is painted once,
   behind both sections, instead of restarting at a section boundary. */
.top-shared-background{
  position:relative;
  background-image:url("assets/top-shared-background.png") !important;
  background-repeat:no-repeat !important;
  background-position:center top !important;
  background-size:100% 100% !important;
  background-color:#0a6f23;
}

.top-shared-background > .hero,
.top-shared-background > .about-how-image-section{
  background:transparent !important;
  background-image:none !important;
  background-color:transparent !important;
}

/* Ensure no section edge or pseudo-element paints a strip across the join. */
.top-shared-background > .hero{
  margin-bottom:0 !important;
  border-bottom:0 !important;
}
.top-shared-background > .about-how-image-section{
  margin-top:0 !important;
  border-top:0 !important;
}
.top-shared-background > .about-how-image-section::before,
.top-shared-background > .about-how-image-section::after{
  background:none !important;
  border:0 !important;
}

/* Undo the earlier experimental wrapper rule if present. */
.page-shell{
  background-image:none !important;
}


/* === Zoom-safe shared top background ===
   Preserve the background image's aspect ratio at all browser zoom levels.
   No stretching/warping: it scales proportionally and may crop at the edges. */
.top-shared-background{
  background-image:url("assets/top-shared-background.png") !important;
  background-repeat:no-repeat !important;
  background-position:center top !important;
  background-size:cover !important;
  min-height:100%;
  overflow:hidden;
}

/* Keep the shared content centered and prevent transform-based scaling distortions. */
.top-shared-background > .hero,
.top-shared-background > .about-how-image-section{
  width:100%;
  max-width:100%;
  transform:none !important;
}

/* Maintain image proportions inside the About/How artwork too. */
.about-how-wrap img,
.hero-piko-logo{
  max-width:100%;
  height:auto !important;
  object-fit:contain;
}

/* At very wide browser sizes, keep composition centered instead of stretching. */
@media (min-width:1440px){
  .top-shared-background{
    background-size:cover !important;
    background-position:center top !important;
  }
}


/* === Requested layout adjustments === */

/* Center the top navbar precisely relative to the website viewport. */
.navbar,
.site-nav,
nav.navbar{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Center the small/header PIKO logo precisely as well. */
.brand-logo,
.site-logo,
.header-logo{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
}

/* Center the main hero logo without breaking its floating animation. */
.hero-copy{
  left:50% !important;
  right:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center;
  align-items:center !important;
}
.hero-piko-logo{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* About + How artwork approximately 25% larger than before.
   Allow it to exceed the old 1120px wrapper while remaining responsive. */
.about-how-wrap{
  width:min(1400px,100%) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.about-how-wrap img{
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  display:block;
  margin:0 auto;
}

@media(max-width:700px){
  .about-how-wrap{
    width:125% !important;
    margin-left:-12.5% !important;
    margin-right:-12.5% !important;
  }
}


/* === WHY PIKO artwork + clickable Pilot School button === */
.why-piko-image-section{
  position:relative;
  width:100%;
  padding:0;
  margin:0;
  background:#f6e7d2;
  overflow:hidden;
}
.why-piko-art{
  position:relative;
  width:min(1180px,100%);
  margin:0 auto;
  line-height:0;
}
.why-piko-main{
  display:block;
  width:100%;
  height:auto;
}

/* The button PNG overlays the button location already shown in the artwork.
   Percent positioning keeps it aligned when the whole section scales. */
.pilot-school-image-button{
  position:absolute;
  left:53.6%;
  top:82.25%;
  width:27.7%;
  height:auto;
  z-index:5;
  display:block;
  line-height:0;
  border-radius:18px;
  transition:transform .18s ease, filter .18s ease;
}
.pilot-school-image-button img{
  display:block;
  width:100%;
  height:auto;
}
.pilot-school-image-button:hover{
  transform:translateY(-3px) scale(1.015);
  filter:brightness(1.04);
}
.pilot-school-image-button:active{
  transform:translateY(0) scale(.99);
}
.pilot-school-image-button:focus-visible{
  outline:4px solid #fff;
  outline-offset:4px;
}
#contact{
  scroll-margin-top:90px;
}


/* === Requested tuning pass === */

/* Make the Why PIKO artwork cover more page area in both width and height. */
.why-piko-image-section{
  padding:18px 0 36px !important;
}
.why-piko-art{
  width:min(1380px,98vw) !important;
  max-width:none !important;
}
.why-piko-main{
  width:100% !important;
  height:auto !important;
  display:block;
}

/* Move the Pilot School button slightly lower so it aligns with the printed button area. */
.pilot-school-image-button{
  left:53.6% !important;
  top:84.2% !important;
  width:27.7% !important;
}

/* Give the About + How section a little more breathing room so the shared clover
   background extends farther around/under the artwork. */
.about-how-image-section{
  padding-top:96px !important;
  padding-bottom:118px !important;
}
.about-how-wrap{
  width:min(1400px,100%) !important;
}

/* Preserve responsive proportions on smaller screens. */
@media(max-width:700px){
  .why-piko-art{
    width:100% !important;
  }
  .why-piko-image-section{
    padding:8px 0 20px !important;
  }
  .about-how-image-section{
    padding-top:54px !important;
    padding-bottom:70px !important;
  }
}


/* === New Why PIKO artwork alignment === */
.why-piko-image-section{
  padding:0 !important;
  margin:0 !important;
  background:#f6e7d2 !important;
}
.why-piko-art{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  margin:0 auto !important;
  line-height:0 !important;
}
.why-piko-main{
  width:100% !important;
  height:auto !important;
  display:block !important;
}

/* Align separate button PNG directly over the button shown in the new 1820×832 artwork.
   Percent coordinates scale with the artwork at every viewport/zoom level. */
.pilot-school-image-button{
  left:52.05% !important;
  top:84.65% !important;
  width:13.20% !important;
  height:auto !important;
  transform:none;
}
.pilot-school-image-button:hover{
  transform:translateY(-2px) scale(1.012) !important;
}
.pilot-school-image-button:active{
  transform:scale(.99) !important;
}


/* Fine-tune Pilot School button: move slightly lower only. */
.pilot-school-image-button{
  top:86.0% !important;
}

/* Pilot School button alignment v2 — noticeably lower */
.pilot-school-image-button{
  top:88.6% !important;
}

/* Final Pilot School button alignment — 2% higher */
.pilot-school-image-button{
  top:86.6% !important;
}

/* Pilot School button — 2.3% lower from previous version */
.pilot-school-image-button{
  top:88.9% !important;
}

/* Pilot School button — 0.1% higher */
.pilot-school-image-button{
  top:88.8% !important;
}

/* Pilot School button — 0.5% higher */
.pilot-school-image-button{
  top:88.3% !important;
}

/* Pilot School button — 0.2% higher */
.pilot-school-image-button{
  top:88.1% !important;
}


/* === Partners + Meet the Team + Let's Talk: ONE shared background === */
.partners-team-contact-shared-bg{
  position:relative;
  width:100%;
  background-color:#07591b;
  background-image:url("assets/partners-team-contact-bg.png");
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  overflow:hidden;
}

.partners-team-contact-shared-bg > .partners,
.partners-team-contact-shared-bg > .team,
.partners-team-contact-shared-bg > .contact-section{
  background:transparent !important;
  background-image:none !important;
  background-color:transparent !important;
  border-top:0 !important;
  border-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* New exact Partners artwork */
.partners-image-section{
  position:relative;
  width:100%;
  padding:70px 20px 76px;
}
.partners-art-wrap{
  position:relative;
  width:min(1120px,94vw);
  margin:0 auto;
  line-height:0;
}
.partners-art-img{
  display:block;
  width:100%;
  height:auto;
}

/* Click area aligned with the red "Interested in Becoming a Partner?" button in the PNG. */
.partners-image-cta{
  position:absolute;
  left:41.6%;
  top:61.5%;
  width:27.9%;
  height:8.2%;
  z-index:5;
  border-radius:14px;
  cursor:pointer;
}
.partners-image-cta:hover{
  background:rgba(255,255,255,.08);
}
.partners-image-cta:focus-visible{
  outline:4px solid white;
  outline-offset:3px;
}

/* Keep the next two sections comfortably visible over the same continuous image. */
.partners-team-contact-shared-bg > .team{
  padding-top:34px;
}
.partners-team-contact-shared-bg > .contact-section{
  padding-top:48px;
  padding-bottom:86px;
}

@media(max-width:700px){
  .partners-image-section{
    padding:38px 4px 46px;
  }
  .partners-art-wrap{
    width:100%;
  }
  .partners-team-contact-shared-bg{
    background-size:cover;
    background-position:center top;
  }
}

/* Correct clickable overlay: aligned directly over the red Partner button in the PNG */
.partners-image-cta{
  left:43.0% !important;
  top:56.0% !important;
  width:28.8% !important;
  height:7.2% !important;
  z-index:999 !important;
  display:block !important;
  pointer-events:auto !important;
}

/* Exact Meet the Team artwork supplied by user */
.partners-team-contact-shared-bg > .team.team-image-section{
  background:transparent !important;
  padding:40px 20px 54px !important;
}
.team-art-wrap{width:min(1120px,94vw);margin:0 auto;line-height:0;}
.team-art-img{display:block;width:100%;height:auto;}
@media(max-width:700px){
 .partners-team-contact-shared-bg > .team.team-image-section{padding:24px 4px 34px !important;}
 .team-art-wrap{width:100%;}
}

/* Meet the Team — moved slightly upward */
.team-image-section{
  transform: translateY(-28px) !important;
  margin-bottom:-28px !important;
}


/* === Contact section redesign based on supplied reference === */
.contact-section{
  padding:70px 28px 90px !important;
  background:transparent !important;
}
.contact-card{
  width:min(1500px,96vw);
  margin:0 auto;
  background:#fff;
  border-radius:42px;
  padding:64px 58px;
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:78px;
  align-items:center;
  box-shadow:0 12px 35px rgba(0,0,0,.14);
}
.contact-copy h2{
  margin:0 0 36px;
  color:#000;
  font-size:clamp(44px,4.6vw,78px);
  line-height:1;
  font-weight:900;
}
.contact-copy p{
  margin:0 0 58px;
  color:#111;
  font-size:clamp(20px,1.8vw,31px);
  line-height:1.35;
  max-width:680px;
}
.contact-copy h3{
  margin:0 0 22px;
  color:#000;
  font-size:clamp(28px,2.3vw,42px);
}
.contact-copy a{
  color:#111;
  text-decoration:none;
  font-size:clamp(18px,1.45vw,26px);
}
.contact-copy a:hover{text-decoration:underline}

.contact-form-functional{
  display:grid;
  gap:16px;
}
.contact-form-functional label{
  color:#111;
  font-size:clamp(17px,1.35vw,24px);
  margin-top:5px;
}
.contact-form-functional input,
.contact-form-functional textarea{
  width:100%;
  border:0;
  border-radius:0;
  background:#f4f4f4;
  color:#111;
  padding:18px 20px;
  font:inherit;
  outline:none;
  transition:box-shadow .18s ease, background .18s ease;
}
.contact-form-functional input{
  min-height:64px;
}
.contact-form-functional textarea{
  min-height:225px;
  resize:vertical;
}
.contact-form-functional input:focus,
.contact-form-functional textarea:focus{
  background:#f8f8f8;
  box-shadow:inset 0 0 0 3px rgba(0,0,0,.12);
}
.contact-form-functional button{
  margin-top:16px;
  min-height:76px;
  border:0;
  background:#000;
  color:#fff;
  font-size:clamp(22px,1.8vw,32px);
  cursor:pointer;
  transition:transform .16s ease, opacity .16s ease;
}
.contact-form-functional button:hover{
  transform:translateY(-2px);
  opacity:.92;
}
.contact-form-functional button:active{
  transform:translateY(0);
}

@media(max-width:900px){
  .contact-card{
    grid-template-columns:1fr;
    gap:48px;
    padding:48px 34px;
    border-radius:28px;
  }
  .contact-copy p{margin-bottom:38px}
}


/* =========================================================
   FINAL CONTACT OVERRIDE — intentionally unique class names
   so legacy contact styles cannot win.
   ========================================================= */
#contact.piko-contact-redesign{
  box-sizing:border-box !important;
  width:100% !important;
  padding:72px 28px 92px !important;
  margin:0 !important;
  background:transparent !important;
  background-image:none !important;
}

#contact .piko-contact-card{
  box-sizing:border-box !important;
  width:min(1540px, 96vw) !important;
  min-height:690px !important;
  margin:0 auto !important;
  padding:72px 62px !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.12fr) !important;
  gap:86px !important;
  align-items:center !important;
  background:#fff !important;
  border-radius:54px !important;
  border:0 !important;
  box-shadow:0 14px 38px rgba(0,0,0,.16) !important;
  overflow:hidden !important;
}

#contact .piko-contact-left{
  display:block !important;
  color:#000 !important;
}

#contact .piko-contact-left h2{
  margin:0 0 42px !important;
  padding:0 !important;
  color:#000 !important;
  background:none !important;
  font-size:clamp(52px,5vw,82px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-align:left !important;
}

#contact .piko-contact-left p{
  max-width:680px !important;
  margin:0 0 72px !important;
  color:#111 !important;
  font-size:clamp(21px,1.75vw,31px) !important;
  line-height:1.35 !important;
  text-align:left !important;
}

#contact .piko-email-block h3{
  margin:0 0 26px !important;
  color:#000 !important;
  font-size:clamp(30px,2.4vw,43px) !important;
  line-height:1 !important;
}

#contact .piko-email-block a{
  color:#111 !important;
  font-size:clamp(18px,1.45vw,26px) !important;
  text-decoration:none !important;
}

#contact .piko-contact-form{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

#contact .piko-contact-form label{
  display:block !important;
  margin:0 0 14px !important;
  color:#111 !important;
  font-size:clamp(18px,1.35vw,24px) !important;
  font-weight:400 !important;
  text-align:left !important;
}

#contact .piko-contact-form input,
#contact .piko-contact-form textarea{
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:#f5f5f5 !important;
  color:#111 !important;
  font:inherit !important;
  padding:18px 20px !important;
  box-shadow:none !important;
}

#contact .piko-contact-form input{
  height:66px !important;
  margin:0 0 36px !important;
}

#contact .piko-contact-form textarea{
  min-height:225px !important;
  margin:0 0 38px !important;
  resize:vertical !important;
}

#contact .piko-contact-form button{
  display:block !important;
  width:100% !important;
  min-height:76px !important;
  margin:0 !important;
  padding:16px 20px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#000 !important;
  color:#fff !important;
  font-size:clamp(22px,1.8vw,32px) !important;
  font-weight:500 !important;
  cursor:pointer !important;
}

#contact .piko-contact-form button:hover{
  opacity:.9 !important;
}

@media (max-width:900px){
  #contact.piko-contact-redesign{
    padding:46px 16px 62px !important;
  }
  #contact .piko-contact-card{
    width:min(94vw,760px) !important;
    min-height:0 !important;
    grid-template-columns:1fr !important;
    gap:50px !important;
    padding:48px 32px !important;
    border-radius:34px !important;
  }
  #contact .piko-contact-left p{
    margin-bottom:44px !important;
  }
}

/* Contact left side now uses the supplied PNG instead of recreated text */
#contact .piko-contact-left-image{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
}
#contact .piko-contact-left-image img{
  display:block !important;
  width:100% !important;
  max-width:760px !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Exact supplied PNG used for the logo beside the navigation bar */
.piko-navbar-logo-img{
  display:block !important;
  width:125px !important;
  max-width:14vw !important;
  height:auto !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
}
@media (max-width:700px){
  .piko-navbar-logo-img{
    width:92px !important;
    max-width:24vw !important;
  }
}

/* Footer content replaced with supplied transparent PNG */
footer{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
footer .piko-footer-content-img{
  display:block !important;
  width:min(560px, 90vw) !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Slightly smaller footer artwork */
footer .piko-footer-content-img{
  width:min(475px, 82vw) !important;
}

/* Clickable partner-logo hotspots on the supplied Partners PNG */
.piko-partner-image-wrap{
  position:relative !important;
  display:inline-block !important;
  max-width:100% !important;
}
.piko-partner-image-wrap > img{
  display:block !important;
  width:100% !important;
  height:auto !important;
}
.piko-partner-hotspot{
  position:absolute !important;
  z-index:10 !important;
  display:block !important;
  cursor:pointer !important;
  background:transparent !important;
}
/* Approximate logo locations within the partners artwork */
.piko-partner-hotspot.academic-center-link{
  left:24% !important;
  top:39% !important;
  width:27% !important;
  height:14% !important;
}
.piko-partner-hotspot.duluth-high-link{
  left:51% !important;
  top:38% !important;
  width:15% !important;
  height:16% !important;
}

/* Fine positioning tweaks requested */
.piko-main-logo-shift{
  transform:translate(-2%, 15%) !important;
}
.piko-team-shift-up{
  transform:translateY(-3%) !important;
}

/* Move Meet Piko control 15% lower */
.piko-meet-button-lower{
  transform:translateY(15%) !important;
}


/* === Restore floating motion on main landing logo === */
.piko-main-logo-shift{
  transform-origin:center center !important;
  animation:piko-main-logo-float 5.5s ease-in-out infinite !important;
}

@keyframes piko-main-logo-float{
  0%,100%{
    transform:translate(-2%, 15%) !important;
  }
  50%{
    transform:translate(-2%, 10%) !important;
  }
}

/* === Make Meet Piko clickable area larger without visually enlarging button === */
.piko-meet-button-lower{
  position:relative !important;
  transform:translateY(15%) !important;
  z-index:20 !important;
}

/* Invisible hit-area extension around the visible button */
.piko-meet-button-lower::before{
  content:"" !important;
  position:absolute !important;
  left:-22% !important;
  right:-22% !important;
  top:-45% !important;
  bottom:-45% !important;
  z-index:-1 !important;
  cursor:pointer !important;
}

/* Respect accessibility settings */
@media (prefers-reduced-motion: reduce){
  .piko-main-logo-shift{
    animation:none !important;
    transform:translate(-2%, 15%) !important;
  }
}


/* =========================================================
   FINAL FIX: actual Meet PIKO interaction + real logo float
   ========================================================= */

/* Main landing logo: keep approved -2% X and +15% Y base,
   then gently float upward and back down. */
.hero-piko-logo.piko-main-logo-shift{
  animation:pikoLandingFloat 4.8s ease-in-out infinite !important;
  will-change:transform;
  transform-origin:center center;
}

@keyframes pikoLandingFloat{
  0%,100% { transform:translate(-2%, 15%); }
  50%     { transform:translate(-2%, 9%); }
}

/* Actual Meet PIKO button — larger visible/clickable target */
.round-cta.piko-meet-button-fixed{
  position:relative !important;
  z-index:50 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px 32px !important;
  min-width:150px !important;
  min-height:56px !important;
  transform:translateY(15%) !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease !important;
}

/* Extra invisible hit area around the button */
.round-cta.piko-meet-button-fixed::after{
  content:"";
  position:absolute;
  inset:-14px -22px;
  border-radius:999px;
}

/* Make hover visually obvious */
.round-cta.piko-meet-button-fixed:hover{
  transform:translateY(10%) scale(1.06) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.28) !important;
  background:#fffdf2 !important;
}

.round-cta.piko-meet-button-fixed:active{
  transform:translateY(15%) scale(.98) !important;
}

.round-cta.piko-meet-button-fixed:focus-visible{
  outline:4px solid #ffef36 !important;
  outline-offset:5px !important;
}

/* Only disable floating when the user's OS explicitly requests reduced motion */
@media (prefers-reduced-motion: reduce){
  .hero-piko-logo.piko-main-logo-shift{
    animation:none !important;
    transform:translate(-2%,15%) !important;
  }
}


/* =========================================================
   ROBUST FLOAT FIX
   Animate a wrapper instead of the logo image itself so the
   logo's existing transform/animation CSS cannot override it.
   ========================================================= */
.piko-main-logo-float-wrap{
  display:block !important;
  width:fit-content !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  position:relative !important;
  left:-2% !important;
  top:15% !important;
  z-index:10 !important;
  animation:pikoWrapperFloat 3.6s ease-in-out infinite !important;
  will-change:transform !important;
}

.piko-main-logo-float-wrap .hero-piko-logo{
  animation:none !important;
  transform:none !important;
  margin:0 auto !important;
}

@keyframes pikoWrapperFloat{
  0%   { transform:translateY(0px); }
  50%  { transform:translateY(-18px); }
  100% { transform:translateY(0px); }
}

@media (prefers-reduced-motion: reduce){
  .piko-main-logo-float-wrap{
    animation:none !important;
  }
}

/* Lower floating hero logo while preserving the existing motion exactly */
.piko-main-logo-float-wrap{
  top:25% !important;
}


/* Contact-form submission feedback */
.piko-contact-form button:disabled{
  opacity:.65 !important;
  cursor:wait !important;
  transform:none !important;
}
.piko-form-status{
  min-height:24px;
  margin:14px 0 0;
  font-size:15px;
  line-height:1.4;
  color:#222;
}
.piko-form-status.is-success{
  color:#176b2c;
  font-weight:700;
}
.piko-form-status.is-error{
  color:#b00020;
  font-weight:700;
}


/* PIKO form success/error popup */
.piko-toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99999;
  width:min(390px, calc(100vw - 32px));
  box-sizing:border-box;
  display:flex;
  gap:13px;
  align-items:flex-start;
  padding:16px 18px;
  border-radius:18px;
  background:#fffdf5;
  color:#4a241c;
  border:2px solid #75c928;
  box-shadow:0 16px 45px rgba(0,0,0,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(18px) scale(.97);
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  pointer-events:none;
}
.piko-toast.piko-toast-show{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.piko-toast-icon{
  font-size:28px;
  line-height:1;
}
.piko-toast strong{
  display:block;
  font-size:17px;
  margin-bottom:3px;
}
.piko-toast span{
  display:block;
  font-size:14px;
  line-height:1.35;
}
.piko-toast.piko-toast-error{
  border-color:#e90032;
}
@media (max-width:600px){
  .piko-toast{
    left:16px;
    right:16px;
    bottom:16px;
    width:auto;
  }
}


/* =========================================================
   PIKO MOBILE LAYOUT
   Applies only to phones/tablets <= 768px.
   Desktop styling above this breakpoint is unchanged.
   ========================================================= */
@media (max-width: 768px) {
  html{
    scroll-padding-top:84px;
  }

  body{
    min-width:320px;
    overflow-x:hidden !important;
  }

  /* ---------- Mobile header / menu ---------- */
  .site-header{
    top:10px !important;
    height:64px;
    padding:0 14px !important;
    justify-content:flex-end !important;
    pointer-events:none;
  }

  .brand{
    left:14px !important;
    top:4px;
    display:flex !important;
    align-items:center;
    pointer-events:auto;
  }

  .piko-navbar-logo-img{
    width:92px !important;
    max-width:none !important;
    height:auto !important;
  }

  .menu-button{
    display:grid !important;
    place-items:center;
    width:46px !important;
    height:46px !important;
    padding:0 !important;
    color:#171717;
    font-size:22px;
    font-weight:900;
    box-shadow:0 7px 22px rgba(0,0,0,.18);
    z-index:1002;
  }

  .nav-pill{
    position:absolute !important;
    top:58px !important;
    right:14px !important;
    left:auto !important;
    width:min(280px,calc(100vw - 28px)) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;
    padding:10px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(16px);
    box-shadow:0 18px 45px rgba(0,0,0,.24) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px) scale(.98);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  }

  .nav-pill.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }

  .nav-pill a{
    width:100%;
    padding:13px 15px !important;
    border-radius:14px !important;
    font-size:15px !important;
    text-align:left;
  }

  .nav-pill .nav-contact{
    text-align:center;
    margin-top:3px;
  }

  /* ---------- Shared top / hero ---------- */
  .top-shared-background{
    background-image:url("assets/top-shared-background.png") !important;
    background-size:cover !important;
    background-position:center top !important;
    overflow:hidden !important;
  }

  .hero{
    min-height:660px !important;
    padding:100px 12px 62px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .hero-cloud{
    width:92vw !important;
    height:220px !important;
    top:190px !important;
  }

  .hero-copy{
    width:100% !important;
    margin-top:0 !important;
    min-height:430px;
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }

  .piko-main-logo-float-wrap{
    width:min(520px,112vw) !important;
    max-width:none !important;
    left:-1% !important;
    top:0 !important;
    margin:36px auto 8px !important;
    animation:pikoMobileFloat 3.6s ease-in-out infinite !important;
  }

  .piko-main-logo-float-wrap .hero-piko-logo{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
  }

  @keyframes pikoMobileFloat{
    0%,100%{ transform:translateY(18px); }
    50%{ transform:translateY(2px); }
  }

  .round-cta.piko-meet-button-fixed{
    margin-top:10px !important;
    min-width:176px !important;
    min-height:58px !important;
    padding:17px 28px !important;
    font-size:18px !important;
    transform:none !important;
    box-shadow:0 10px 24px rgba(0,0,0,.24) !important;
  }

  .round-cta.piko-meet-button-fixed:hover,
  .round-cta.piko-meet-button-fixed:active{
    transform:scale(1.03) !important;
  }

  .floating-star{
    font-size:24px !important;
    opacity:.9;
  }
  .star-a{top:145px !important;right:12% !important}
  .star-b{top:300px !important;left:8% !important}
  .star-c{top:445px !important;right:10% !important}

  /* ---------- About + How It Works ---------- */
  .about-how-image-section{
    padding:26px 0 68px !important;
    overflow:hidden !important;
  }

  .about-how-wrap{
    width:500px !important;
    max-width:none !important;
    margin-left:50% !important;
    transform:translateX(-50%);
  }

  .about-how-wrap img{
    width:500px !important;
    max-width:none !important;
    height:auto !important;
  }

  .how-anchor{
    top:56% !important;
  }

  /* ---------- Why PIKO / Goals ---------- */
  .why-piko-image-section{
    overflow:hidden !important;
    padding:28px 0 34px !important;
    background:#f6e7d2 !important;
  }

  .why-piko-art{
    width:720px !important;
    max-width:none !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
  }

  .why-piko-main{
    width:720px !important;
    max-width:none !important;
    height:auto !important;
  }

  .pilot-school-image-button{
    left:52.05% !important;
    top:88.1% !important;
    width:13.2% !important;
    min-width:95px;
    z-index:15 !important;
  }

  /* ---------- Partners / Team / Contact shared background ---------- */
  .partners-team-contact-shared-bg{
    background-image:url("assets/partners-team-contact-bg.png") !important;
    background-size:cover !important;
    background-position:center top !important;
    overflow:hidden !important;
  }

  .partners-image-section{
    padding:58px 0 42px !important;
    overflow:hidden !important;
  }

  .partners-art-wrap{
    width:540px !important;
    max-width:none !important;
    margin-left:50% !important;
    transform:translateX(-50%);
  }

  .piko-partner-image-wrap{
    width:540px !important;
  }

  .partners-art-img{
    width:540px !important;
    max-width:none !important;
  }

  /* Keep every hotspot proportional to the same image. */
  .partners-image-cta{
    left:43% !important;
    top:56% !important;
    width:28.8% !important;
    height:7.2% !important;
    z-index:25 !important;
  }

  .piko-partner-hotspot.academic-center-link{
    left:24% !important;
    top:39% !important;
    width:27% !important;
    height:14% !important;
  }

  .piko-partner-hotspot.duluth-high-link{
    left:51% !important;
    top:38% !important;
    width:15% !important;
    height:16% !important;
  }

  /* ---------- Meet the Team ---------- */
  .team-image-section{
    padding:16px 0 44px !important;
    transform:none !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  .team-art-wrap{
    width:530px !important;
    max-width:none !important;
    margin-left:50% !important;
    transform:translateX(-50%);
  }

  .team-art-img{
    width:530px !important;
    max-width:none !important;
    height:auto !important;
    transform:translateY(-14px) !important;
  }

  /* ---------- Contact ---------- */
  #contact.piko-contact-redesign{
    padding:30px 14px 70px !important;
    background:transparent !important;
  }

  #contact .piko-contact-card{
    width:100% !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:30px 20px 26px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:30px !important;
    border-radius:30px !important;
  }

  #contact .piko-contact-left-image{
    width:100% !important;
    justify-content:center !important;
  }

  #contact .piko-contact-left-image img{
    width:min(100%,430px) !important;
    max-width:100% !important;
    height:auto !important;
  }

  #contact .piko-contact-form{
    width:100% !important;
  }

  #contact .piko-contact-form label{
    font-size:16px !important;
    margin-bottom:9px !important;
  }

  #contact .piko-contact-form input{
    height:56px !important;
    margin-bottom:22px !important;
    padding:14px 15px !important;
    font-size:16px !important; /* prevents iOS auto-zoom */
  }

  #contact .piko-contact-form textarea{
    min-height:170px !important;
    margin-bottom:24px !important;
    padding:14px 15px !important;
    font-size:16px !important;
  }

  #contact .piko-contact-form button{
    min-height:60px !important;
    font-size:20px !important;
    border-radius:12px !important;
  }

  /* ---------- Footer ---------- */
  footer.footer{
    min-height:0 !important;
    padding:28px 18px 34px !important;
    justify-content:center !important;
  }

  footer .piko-footer-content-img{
    width:min(330px,82vw) !important;
    max-width:82vw !important;
    margin:0 auto !important;
  }

  /* ---------- Toast ---------- */
  .piko-toast{
    left:14px !important;
    right:14px !important;
    bottom:14px !important;
    width:auto !important;
    border-radius:16px !important;
  }

  /* Better tap targets. */
  a, button{
    -webkit-tap-highlight-color:transparent;
  }

  #about,#how,#impact,#partners,#team,#contact{
    scroll-margin-top:82px !important;
  }
}

/* Small phones */
@media (max-width: 390px) {
  .about-how-wrap,
  .about-how-wrap img{
    width:465px !important;
  }

  .why-piko-art,
  .why-piko-main{
    width:675px !important;
  }

  .partners-art-wrap,
  .piko-partner-image-wrap,
  .partners-art-img{
    width:510px !important;
  }

  .team-art-wrap,
  .team-art-img{
    width:500px !important;
  }
}


/* =========================================================
   MOBILE PASS 2 — 390px hero fit + spacing polish
   Keeps desktop unchanged.
   ========================================================= */
@media (max-width: 768px) {
  .hero{
    min-height:720px !important;
    padding:92px 14px 86px !important;
    overflow:hidden !important;
  }

  .hero-copy{
    width:100% !important;
    min-height:500px !important;
    overflow:visible !important;
  }

  /* Fit the complete PIKO artwork inside the phone instead of cropping it. */
  .piko-main-logo-float-wrap{
    width:min(96vw,430px) !important;
    max-width:96vw !important;
    left:0 !important;
    right:auto !important;
    margin:48px auto 12px !important;
    transform-origin:center center !important;
  }

  .piko-main-logo-float-wrap .hero-piko-logo{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  @keyframes pikoMobileFloatPass2{
    0%,100%{ transform:translateY(12px); }
    50%{ transform:translateY(-2px); }
  }

  .piko-main-logo-float-wrap{
    animation:pikoMobileFloatPass2 3.6s ease-in-out infinite !important;
  }

  .round-cta.piko-meet-button-fixed{
    position:relative !important;
    z-index:20 !important;
    margin-top:22px !important;
  }

  /* Keep decorative hero elements from forcing/cropping horizontal content. */
  .hero-cloud{
    width:94vw !important;
    max-width:94vw !important;
    left:3vw !important;
    right:auto !important;
  }

  /* Give a cleaner visual break before the next artwork section. */
  .about-how-image-section{
    padding-top:48px !important;
  }
}

@media (max-width: 430px) {
  .piko-main-logo-float-wrap{
    width:94vw !important;
    max-width:94vw !important;
  }
}

@media (max-width: 390px) {
  .hero{
    min-height:710px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .piko-main-logo-float-wrap{
    width:92vw !important;
    max-width:92vw !important;
  }

  .round-cta.piko-meet-button-fixed{
    margin-top:18px !important;
  }
}


/* =========================================================
   MOBILE PASS 3 — hero scale/position refinement
   ========================================================= */
@media (max-width: 768px) {
  /* Shorter landing area so About begins sooner. */
  .hero{
    min-height:640px !important;
    padding-top:88px !important;
    padding-bottom:42px !important;
  }

  .hero-copy{
    min-height:440px !important;
  }

  /* Larger hero composition, nudged left and slightly lower. */
  .piko-main-logo-float-wrap{
    width:min(104vw,470px) !important;
    max-width:104vw !important;
    left:-4.5% !important;
    margin-top:62px !important;
    margin-bottom:4px !important;
  }

  @keyframes pikoMobileFloatPass3{
    0%,100%{ transform:translateY(12px); }
    50%{ transform:translateY(-2px); }
  }

  .piko-main-logo-float-wrap{
    animation:pikoMobileFloatPass3 3.6s ease-in-out infinite !important;
  }

  /* Pull Meet PIKO closer to the artwork. */
  .round-cta.piko-meet-button-fixed{
    margin-top:4px !important;
  }

  /* Less empty transition space before About. */
  .about-how-image-section{
    padding-top:26px !important;
  }
}

@media (max-width: 430px) {
  .piko-main-logo-float-wrap{
    width:102vw !important;
    max-width:102vw !important;
    left:-5% !important;
  }
}

@media (max-width: 390px) {
  .hero{
    min-height:630px !important;
    padding-bottom:34px !important;
  }

  .piko-main-logo-float-wrap{
    width:101vw !important;
    max-width:101vw !important;
    left:-5.5% !important;
    margin-top:60px !important;
  }

  .round-cta.piko-meet-button-fixed{
    margin-top:2px !important;
  }
}


/* =========================================================
   MOBILE PASS 4 — screenshot-based refinements
   ========================================================= */
@media (max-width: 768px) {
  /* Main hero artwork: ~5% smaller than Pass 3, retaining left bias. */
  .piko-main-logo-float-wrap{
    width:min(99vw,447px) !important;
    max-width:99vw !important;
    left:-4.5% !important;
  }

  /* Reduce the long empty sky after Meet PIKO. */
  .hero{
    min-height:570px !important;
    padding-bottom:18px !important;
  }

  .hero-copy{
    min-height:390px !important;
  }

  .round-cta.piko-meet-button-fixed{
    margin-top:0 !important;
  }

  .about-how-image-section{
    padding-top:12px !important;
    padding-bottom:44px !important;
  }

  /* Slightly enlarge content-heavy artwork for phone readability. */
  .about-how-wrap,
  .about-how-wrap img{
    width:525px !important;
  }

  .why-piko-art,
  .why-piko-main{
    width:750px !important;
  }

  .partners-art-wrap,
  .piko-partner-image-wrap,
  .partners-art-img{
    width:565px !important;
  }

  .team-art-wrap,
  .team-art-img{
    width:550px !important;
  }

  /* Tighten gaps between lower sections. */
  .why-piko-image-section{
    padding-top:18px !important;
    padding-bottom:20px !important;
  }

  .partners-image-section{
    padding-top:34px !important;
    padding-bottom:22px !important;
  }

  .team-image-section{
    padding-top:4px !important;
    padding-bottom:24px !important;
  }

  #contact.piko-contact-redesign{
    padding-top:18px !important;
  }
}

@media (max-width: 430px) {
  .piko-main-logo-float-wrap{
    width:97vw !important;
    max-width:97vw !important;
    left:-5% !important;
  }
}

@media (max-width: 390px) {
  .piko-main-logo-float-wrap{
    width:96vw !important;
    max-width:96vw !important;
    left:-5.25% !important;
  }

  .hero{
    min-height:560px !important;
    padding-bottom:12px !important;
  }

  .about-how-wrap,
  .about-how-wrap img{
    width:510px !important;
  }

  .why-piko-art,
  .why-piko-main{
    width:725px !important;
  }

  .partners-art-wrap,
  .piko-partner-image-wrap,
  .partners-art-img{
    width:545px !important;
  }

  .team-art-wrap,
  .team-art-img{
    width:535px !important;
  }
}


/* MOBILE PASS 5 — shift main PIKO hero artwork ~5% right */
@media (max-width: 768px) {
  .piko-main-logo-float-wrap{
    left:0.5% !important;
  }
}

@media (max-width: 430px) {
  .piko-main-logo-float-wrap{
    left:0% !important;
  }
}

@media (max-width: 390px) {
  .piko-main-logo-float-wrap{
    left:-0.25% !important;
  }
}


/* MOBILE PASS 6 — move main PIKO hero artwork 2% left from Pass 5 */
@media (max-width: 768px) {
  .piko-main-logo-float-wrap{
    left:-1.5% !important;
  }
}

@media (max-width: 430px) {
  .piko-main-logo-float-wrap{
    left:-2% !important;
  }
}

@media (max-width: 390px) {
  .piko-main-logo-float-wrap{
    left:-2.25% !important;
  }
}


/* =========================================================
   MOBILE PASS 7
   - Meet PIKO button scales down with smaller screens
   - Partners and Team artwork reduced slightly to avoid clipping
   ========================================================= */
@media (max-width: 768px) {
  .round-cta.piko-meet-button-fixed{
    font-size:clamp(13px, 3.7vw, 16px) !important;
    padding:clamp(12px, 3.4vw, 16px) clamp(22px, 6vw, 34px) !important;
    min-width:0 !important;
    width:auto !important;
  }

  /* Only a subtle reduction from Pass 6. */
  .partners-art-wrap,
  .piko-partner-image-wrap,
  .partners-art-img{
    width:540px !important;
    max-width:98vw !important;
  }

  .team-art-wrap,
  .team-art-img{
    width:525px !important;
    max-width:98vw !important;
  }
}

@media (max-width: 430px) {
  .round-cta.piko-meet-button-fixed{
    font-size:14px !important;
    padding:12px 25px !important;
  }

  .partners-art-wrap,
  .piko-partner-image-wrap,
  .partners-art-img{
    width:515px !important;
    max-width:97vw !important;
  }

  .team-art-wrap,
  .team-art-img{
    width:505px !important;
    max-width:97vw !important;
  }
}

@media (max-width: 390px) {
  .round-cta.piko-meet-button-fixed{
    font-size:13.5px !important;
    padding:11px 23px !important;
  }

  .partners-art-wrap,
  .piko-partner-image-wrap,
  .partners-art-img{
    width:500px !important;
    max-width:96vw !important;
  }

  .team-art-wrap,
  .team-art-img{
    width:490px !important;
    max-width:96vw !important;
  }
}

@media (max-width: 350px) {
  .round-cta.piko-meet-button-fixed{
    font-size:12.5px !important;
    padding:10px 20px !important;
  }

  .partners-art-wrap,
  .piko-partner-image-wrap,
  .partners-art-img,
  .team-art-wrap,
  .team-art-img{
    max-width:95vw !important;
  }
}
