
:root{--ink:#10213f;--text:#243246;--muted:#657184;--paper:#fff9f0;--cream:#f5ecde;--line:rgba(16,33,63,.14);--orange:#ff6b2c;--yellow:#ffd84a;--shadow:0 22px 54px rgba(16,33,63,.12);--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);line-height:1.85;letter-spacing:.02em}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 48px));margin:auto}.narrow{width:min(920px,calc(100% - 48px));margin:auto}
.header{position:sticky;top:0;z-index:10;background:rgba(255,249,240,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.head{height:76px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:950;color:var(--ink)}.mark{width:42px;height:42px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;background:#fff}.brand small{display:block;font-size:.72rem;color:var(--muted);font-weight:700;letter-spacing:.08em}.nav{display:flex;gap:14px;align-items:center;font-size:.82rem;font-weight:850}.cta-small{background:var(--ink);color:#fff;border-radius:999px;padding:10px 18px}
.nav .menu-list{display:flex;gap:14px;align-items:center;margin:0;padding:0;list-style:none}.nav .menu-list li{margin:0;padding:0}.custom-logo{max-height:42px;width:auto}

.section{padding:92px 0}.white{background:#fff}.paper{background:var(--paper)}.dark{background:linear-gradient(135deg,#10213f,#183055);color:#fff}.dark h2,.dark h3,.dark p{color:#fff}.eyebrow{margin:0 0 16px;color:var(--orange);font-size:.72rem;letter-spacing:.18em;font-weight:950;text-transform:uppercase}h1,h2,h3{margin:0;color:var(--ink);line-height:1.23;word-break:keep-all}h1{font-size:clamp(2.5rem,5vw,5rem);font-weight:950}h2{font-size:clamp(2rem,3.3vw,3.3rem);font-weight:950}.line{display:block}.lead{font-size:1.08rem;color:#3e4a5c}.muted{color:var(--muted)}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:999px;padding:13px 23px;font-weight:950}.primary{background:var(--ink);color:#fff}.outline{background:#fff;border:2px solid var(--ink);color:var(--ink)}.whitebtn{background:#fff;color:var(--ink)}
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffdf8 0%,var(--paper) 78%)}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,33,63,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(16,33,63,.045) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(180deg,#000,transparent 86%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:58px;min-height:680px;padding:70px 0}.photo{border-radius:32px;overflow:hidden;border:1px solid rgba(16,33,63,.08);box-shadow:var(--shadow);background:#fff}.hero .photo img{height:520px;width:100%;object-fit:cover}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.badges span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:850;color:var(--ink)}
.page-hero{background:#fffdf8;padding:74px 0;border-bottom:1px solid var(--line)}.page-grid,.two{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px}.page-hero .photo img{height:390px;width:100%;object-fit:cover}.section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:34px}.section-head p{max-width:540px;margin:0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.five{grid-template-columns:repeat(5,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 26px rgba(16,33,63,.05)}.card .num{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--cream);font-weight:950;margin-bottom:16px;color:var(--ink)}.card p{color:var(--muted);font-size:.94rem;margin:9px 0 0}.scenes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.scene{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;min-height:210px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.scene:before{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:rgba(255,216,74,.35)}.scene p{color:var(--muted);font-size:.92rem;margin:8px 0 0;position:relative}.scene h3{position:relative}
.products{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.product{display:grid;grid-template-columns:150px 1fr;gap:20px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:20px}.label{border-radius:18px;min-height:150px;display:grid;place-items:center;text-align:center;font-weight:950;line-height:1.25}.y{background:#ffd84a}.g{background:#75bd58;color:#fff}.b{background:#78c0e9}.p{background:#f6a0b3}.o{background:#ffad70}.product ul{margin:12px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.9rem}.product li:before{content:"・";color:var(--orange);font-weight:950}
.process{display:grid;gap:12px}.step{display:grid;grid-template-columns:72px 1fr;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.step b{background:var(--ink);color:#fff;display:grid;place-items:center}.step div{padding:20px}.step p{margin:6px 0 0;color:var(--muted)}.note{border-left:4px solid var(--orange);background:#fff;border-radius:16px;padding:18px 20px;color:var(--muted)}
.cta{background:linear-gradient(135deg,#10213f,#183055);border-radius:34px;padding:58px 38px;text-align:center;color:#fff;box-shadow:var(--shadow)}.cta h2,.cta p{color:#fff}.cta p{max-width:680px;margin:20px auto 0;color:rgba(255,255,255,.84)}
.footer{background:#0d1730;color:rgba(255,255,255,.84)}.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px;padding:54px 0}.footer h2{font-size:1rem;color:#fff}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.copy{border-top:1px solid rgba(255,255,255,.1);padding:14px 0;color:rgba(255,255,255,.62)}
@media(max-width:1000px){.hero-grid,.page-grid,.two{grid-template-columns:1fr}.cards.four,.cards.five,.scenes{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.container,.narrow{width:min(100% - 32px,100%)}.nav a:not(.cta-small),.nav .menu-list{display:none}.section{padding:72px 0}.hero-grid{min-height:auto}.hero .photo img,.page-hero .photo img{height:300px}.cards,.cards.two,.cards.four,.cards.five,.products,.scenes,.foot{grid-template-columns:1fr}.product{grid-template-columns:1fr}.section-head{display:block}.btns{flex-direction:column}.btn{width:100%}}

/* updates: case gallery + unified CTA */
.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.case-card{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 12px 26px rgba(16,33,63,.05)}.case-image{height:178px;background:var(--cream);position:relative;overflow:hidden}.case-image img{width:100%;height:100%;object-fit:cover}.case-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(16,33,63,.18))}.case-body{padding:20px}.case-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--paper);border:1px solid var(--line);padding:5px 9px;font-size:.72rem;font-weight:900;color:var(--ink)}.case-body h3{font-size:1.08rem}.case-body p{font-size:.9rem;color:var(--muted);margin:8px 0 0;line-height:1.7}.case-spec{display:grid;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.case-spec b{color:var(--ink)}.cta-mini{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:0 12px 26px rgba(16,33,63,.05);margin-top:28px}.cta-mini p{margin:8px 0 0;color:var(--muted)}.contact-link{font-weight:950;color:var(--orange)}
@media(max-width:1000px){.case-grid{grid-template-columns:repeat(2,1fr)}.cta-mini{display:block}.cta-mini .btns{margin-top:18px}}@media(max-width:760px){.case-grid{grid-template-columns:1fr}}

/* company/contact updates */
.foot{grid-template-columns:1.15fr .9fr 1.1fr .9fr}.footer-note{margin-top:14px;color:rgba(255,255,255,.68);font-size:.9rem}.footer p{margin:.35rem 0}.light-outline{border-color:rgba(255,255,255,.72)!important;color:#fff!important;background:transparent!important}.info-panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 12px 26px rgba(16,33,63,.05)}.info-panel dl{margin:0;display:grid;gap:0}.info-panel dl div{display:grid;grid-template-columns:132px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.info-panel dl div:last-child{border-bottom:0}.info-panel dt{font-weight:950;color:var(--ink)}.info-panel dd{margin:0;color:var(--text)}.info-panel a{font-weight:900;color:var(--ink)}
@media(max-width:760px){.info-panel dl div{grid-template-columns:1fr;gap:4px}.foot{grid-template-columns:1fr}}


/* NEED YOU v1.1 customizer/cms additions */
.cta-context{align-self:center;color:var(--muted);font-weight:800;font-size:.9rem}
.editable-content{font-size:1.02rem}
.editable-content h2,.editable-content h3{margin-top:1.8em;margin-bottom:.6em}
.editable-content p{margin:0 0 1.1em}
.editable-content ul,.editable-content ol{padding-left:1.5em}
.product-thumb{width:170px;min-height:120px;border-radius:18px;overflow:hidden;background:#fff}
.product-thumb img{width:100%;height:100%;object-fit:cover}
.product-dynamic{grid-template-columns:170px 1fr}
.text-link{display:inline-flex;margin-top:12px;font-weight:950;color:var(--ink)}
.text-link::after{content:" →";color:var(--orange)}
.compact-info dl{margin:0}
.contact-checklist{margin-top:28px;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:22px}
.contact-checklist ul{margin:.8em 0 0;padding-left:1.2em}
.contact-panel{min-height:360px}
.contact-panel p:first-child{margin-top:0}
.note{font-size:.88rem;color:var(--muted);line-height:1.7}
.footer-note{margin:.35em 0;color:rgba(255,255,255,.7)}
.light-outline{border-color:rgba(255,255,255,.78)!important;color:#fff!important;background:transparent!important}
.case-card .wp-post-image,.case-image img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){
  .product-dynamic{grid-template-columns:1fr}
  .product-thumb{width:100%;height:220px}
}

/* Contact plugin integration */
.contact-page-hero .btns a[href^="#"]{scroll-margin-top:90px}
.contact-layout{align-items:start}
.contact-direct{margin-top:22px;padding:18px 20px;border-radius:18px;background:#fffaf2;border:1px solid rgba(16,33,63,.12)}
.contact-direct p{margin:.35em 0;color:#4a5568}
.contact-direct a{font-weight:900;color:#10213f;text-decoration:underline;text-underline-offset:3px}
.contact-plugin-notice{background:#fffaf2;border:1px dashed rgba(16,33,63,.28);border-radius:22px;padding:24px}
.contact-panel .ny-contact-form{margin:0;box-shadow:none;border-color:rgba(16,33,63,.12)}
.contact-panel .ny-submit{width:100%;min-height:54px}
.contact-panel .ny-contact-message{margin-top:0}

/* v1.1.5 product category image cards: ratio/fit controlled in Customizer */
.product-with-image{grid-template-columns:190px 1fr;align-items:center}
.product-with-image .product-thumb{width:190px;height:auto;aspect-ratio:var(--needyou-product-image-ratio,4 / 3);min-height:0;border-radius:20px;background:var(--cream);box-shadow:inset 0 0 0 1px rgba(16,33,63,.05)}
.product-with-image .product-thumb img{width:100%;height:100%;object-fit:var(--needyou-product-image-fit,cover);display:block}
@media (max-width:760px){
  .product-with-image{grid-template-columns:1fr}
  .product-with-image .product-thumb{width:100%;height:auto;aspect-ratio:var(--needyou-product-image-ratio,4 / 3)}
}

/* v1.1.7 product detail pages */
.product-dynamic{grid-template-columns:190px 1fr;align-items:center}
.product-dynamic .product-thumb{width:190px;height:auto;aspect-ratio:var(--needyou-product-image-ratio,4 / 3);min-height:0;border-radius:20px;background:var(--cream);box-shadow:inset 0 0 0 1px rgba(16,33,63,.05)}
.product-dynamic .product-thumb img{width:100%;height:100%;object-fit:var(--needyou-product-image-fit,cover);display:block}
.product-detail-hero .product-main-photo img{object-fit:contain;background:#fff}
.product-feature-grid .card{min-height:230px}
.use-chip-list{display:flex;flex-wrap:wrap;gap:12px;align-content:center}
.use-chip-list span{display:inline-flex;align-items:center;min-height:46px;border-radius:999px;background:#fff;border:1px solid var(--line);padding:10px 16px;font-weight:900;color:var(--ink);box-shadow:0 8px 18px rgba(16,33,63,.04)}
.product-use-section{align-items:center}
@media (max-width:760px){
  .product-dynamic{grid-template-columns:1fr}
  .product-dynamic .product-thumb{width:100%;height:auto;aspect-ratio:var(--needyou-product-image-ratio,4 / 3)}
}

/* v1.1.8 real product imagery and manufacturing visuals */
.product-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-gallery-photo{margin:0;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 12px 26px rgba(16,33,63,.06)}
.product-gallery-photo img{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}
.factory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.factory-photo{margin:0;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 12px 26px rgba(16,33,63,.06)}
.factory-photo img{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}
@media (max-width:760px){.product-gallery-grid,.factory-grid{grid-template-columns:1fr}}

/* =========================================================
   NEED YOU v1.3.0 — visibility, conversion and graphic polish
   ========================================================= */
:root{
  --ink:#10213f;
  --text:#253246;
  --muted:#667286;
  --paper:#fffaf2;
  --cream:#f6ede0;
  --orange:#ff6b2c;
  --orange-2:#ff8e51;
  --yellow:#ffd84a;
  --mint:#68cdb4;
  --sky:#6bb9e8;
  --pink:#f28eaa;
  --green:#79b957;
  --shadow:0 24px 60px rgba(16,33,63,.14);
  --shadow-soft:0 14px 34px rgba(16,33,63,.08);
}
body{background:#fffaf4}
.header{background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(16,33,63,.06);border-bottom:1px solid rgba(16,33,63,.08)}
.mark{background:var(--yellow);border-color:var(--ink);box-shadow:4px 4px 0 var(--ink);transform:rotate(-4deg)}
.brand>span:last-child{letter-spacing:.035em}.brand small{letter-spacing:.12em}
.nav .menu-list a{position:relative;padding:26px 0 23px;transition:color .2s ease}
.nav .menu-list a:after{content:"";position:absolute;left:50%;right:50%;bottom:17px;height:3px;border-radius:999px;background:var(--orange);transition:left .2s ease,right .2s ease}
.nav .menu-list a:hover{color:var(--orange)}.nav .menu-list a:hover:after{left:0;right:0}
.cta-small,.btn.primary{background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;border:0;box-shadow:0 12px 24px rgba(255,107,44,.25);transition:transform .2s ease,box-shadow .2s ease}
.cta-small:hover,.btn.primary:hover{transform:translateY(-2px);box-shadow:0 17px 32px rgba(255,107,44,.32)}
.btn{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.btn:after{content:"→";margin-left:.7em;font-size:1.05em}.btn:hover{transform:translateY(-2px)}
.btn.outline{border-color:rgba(16,33,63,.26);box-shadow:0 8px 20px rgba(16,33,63,.06)}.btn.outline:hover{border-color:var(--orange);color:var(--orange)}
.section{position:relative;padding:104px 0}.white{background:#fff}.paper{background:linear-gradient(180deg,#fffaf2 0%,#f8f1e7 100%)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:7px 12px;border-radius:999px;background:#fff1e9;border:1px solid rgba(255,107,44,.18);font-size:.7rem;letter-spacing:.17em}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(255,107,44,.12)}
h1{font-size:clamp(2.65rem,5.2vw,5.35rem);letter-spacing:-.025em}h2{letter-spacing:-.018em}.section-head h2,.two h2{position:relative}.section-head h2:after,.two h2:after{content:"";display:block;width:88px;height:7px;margin-top:18px;border-radius:999px;background:linear-gradient(90deg,var(--orange) 0 35%,var(--yellow) 35% 62%,var(--mint) 62%)}
.lead{font-size:1.1rem;line-height:1.9}.muted{line-height:1.85}
.hero{background:radial-gradient(circle at 7% 16%,rgba(255,216,74,.32),transparent 21%),radial-gradient(circle at 91% 16%,rgba(104,205,180,.2),transparent 24%),linear-gradient(180deg,#fffdfa 0%,#fff8ed 100%)}
.hero:before{background-image:radial-gradient(rgba(16,33,63,.11) 1.1px,transparent 1.1px);background-size:18px 18px;mask-image:linear-gradient(90deg,#000 0%,transparent 68%);opacity:.5}
.hero:after{content:"";position:absolute;left:-80px;bottom:120px;width:210px;height:90px;border:14px solid rgba(107,185,232,.23);border-left:0;border-right:0;border-radius:50%;transform:rotate(-11deg)}
.hero-grid{min-height:720px;padding:78px 0 50px;gap:64px}.hero-grid>div:first-child{position:relative;z-index:2}.hero h1 .line:last-child{color:var(--orange)}
.hero-visual{position:relative}.hero-visual .photo{border-radius:42px 18px 42px 18px;box-shadow:22px 24px 0 rgba(255,216,74,.46),var(--shadow);transform:rotate(1.1deg)}.hero-visual .photo img{height:535px}.hero-visual:before{content:"";position:absolute;left:-28px;top:-28px;width:90px;height:90px;border:12px solid rgba(104,205,180,.42);border-radius:50%;z-index:2}.hero-visual:after{content:"";position:absolute;right:-22px;bottom:-30px;width:98px;height:98px;background:repeating-linear-gradient(45deg,rgba(242,142,170,.34) 0 8px,transparent 8px 16px);border-radius:28px;z-index:0;transform:rotate(8deg)}.hero-visual .visual-sticker{pointer-events:none}
.visual-sticker{position:absolute;z-index:3;display:block;height:auto;object-fit:contain;filter:drop-shadow(0 13px 30px rgba(16,33,63,.17))}.sticker-save{right:-28px;top:38px;width:132px;transform:rotate(7deg)}.sticker-lot{left:-52px;bottom:26px;width:148px;transform:rotate(-8deg)}
.hero-benefits{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:34px}.benefit-item{display:flex;align-items:center;gap:14px;min-height:100px;padding:18px 20px;border-radius:22px;border:1px solid rgba(16,33,63,.09);box-shadow:var(--shadow-soft);background:#fff}.benefit-item strong,.benefit-item small{display:block}.benefit-item strong{color:var(--ink);font-size:1rem}.benefit-item small{color:var(--muted);line-height:1.55;margin-top:3px}.benefit-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:16px;font-weight:950;color:var(--ink)}.benefit-yellow .benefit-icon{background:var(--yellow)}.benefit-mint .benefit-icon{background:var(--mint);color:#fff}.benefit-blue .benefit-icon{background:var(--sky);color:#fff}
.badges span{background:rgba(255,255,255,.84);border:1px solid rgba(16,33,63,.13);box-shadow:0 6px 15px rgba(16,33,63,.04)}
.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 4% 10%,rgba(255,216,74,.22),transparent 24%),linear-gradient(180deg,#fffdfa,#fff7eb);padding:86px 0 82px}.page-hero:before{content:"";position:absolute;right:-80px;top:-80px;width:250px;height:250px;border:28px solid rgba(107,185,232,.14);border-radius:50%}.page-hero .photo{border-radius:36px 16px 36px 16px;box-shadow:18px 19px 0 rgba(104,205,180,.2),var(--shadow)}.page-hero .photo img{height:420px}
.section-head{padding-bottom:18px;border-bottom:1px solid rgba(16,33,63,.1)}
.home-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-services .card{min-height:225px;position:relative;overflow:hidden;padding:27px 26px 28px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.home-services .card:before{content:"";position:absolute;right:-34px;top:-34px;width:120px;height:120px;border-radius:50%;opacity:.24}.home-services .card:nth-child(1):before{background:var(--yellow)}.home-services .card:nth-child(2):before{background:var(--mint)}.home-services .card:nth-child(3):before{background:var(--orange)}.home-services .card:nth-child(4):before{background:var(--sky)}.home-services .card:nth-child(5):before{background:var(--green)}.home-services .card:nth-child(6):before{background:var(--pink)}.home-services .card:hover{transform:translateY(-7px);box-shadow:0 22px 44px rgba(16,33,63,.13);border-color:rgba(255,107,44,.25)}.home-services .card .num{border-radius:15px;box-shadow:4px 4px 0 rgba(16,33,63,.14)}.home-services .card:after{content:"詳しく見る  →";position:absolute;left:26px;bottom:21px;font-size:.77rem;font-weight:950;color:var(--orange)}
.card,.product,.case-card,.scene,.info-panel{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card:hover,.product:hover,.case-card:hover,.scene:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(16,33,63,.11);border-color:rgba(255,107,44,.22)}
.cards{gap:20px}.card{border-radius:27px;padding:26px}.card .num{background:linear-gradient(135deg,#fff3d0,var(--yellow))}
.product-with-image,.product-dynamic{padding:0;overflow:hidden;grid-template-columns:220px 1fr}.product-with-image .product-thumb,.product-dynamic .product-thumb{width:220px;border-radius:0;align-self:stretch;min-height:220px}.product-with-image>div:last-child,.product-dynamic>div:last-child{padding:24px 25px 24px 3px}.product h3{font-size:1.28rem}.text-link{color:var(--orange)}
.pill{background:#fff6e9;border-color:rgba(255,107,44,.18);color:#a8471c}.case-card{border-radius:28px}.case-image{height:205px}.case-body{padding:22px}.case-card:hover .case-image img{transform:scale(1.035)}.case-image img{transition:transform .35s ease}
.scene{min-height:235px}.scene:before{width:150px;height:150px;background:rgba(255,216,74,.26)}.scene:nth-child(even):before{background:rgba(104,205,180,.24)}
.step{border-radius:24px;box-shadow:0 9px 25px rgba(16,33,63,.045)}.step b{font-size:1.1rem;background:linear-gradient(150deg,var(--ink),#27466f)}
.cta{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 15%,rgba(255,216,74,.25),transparent 23%),radial-gradient(circle at 90% 88%,rgba(104,205,180,.2),transparent 28%),linear-gradient(135deg,#10213f,#193e68);border-radius:38px;padding:64px 42px}.cta:before{content:"";position:absolute;right:34px;top:28px;width:74px;height:74px;border:9px solid rgba(255,255,255,.12);border-radius:50%}.cta:after{content:"";position:absolute;left:35px;bottom:34px;width:94px;height:22px;border-top:5px solid var(--yellow);border-bottom:5px solid var(--yellow);border-radius:50%}.cta>*{position:relative;z-index:2}.cta .whitebtn{background:var(--yellow);color:var(--ink);box-shadow:0 12px 25px rgba(0,0,0,.16)}
.footer{background:linear-gradient(145deg,#0b1428,#10213f)}.footer h2{position:relative;padding-bottom:11px}.footer h2:after{content:"";position:absolute;left:0;bottom:0;width:38px;height:3px;background:var(--orange);border-radius:99px}.contact-link{display:inline-flex;margin-top:10px;padding:9px 15px;border-radius:999px;background:var(--orange);color:#fff!important}
@media(max-width:1000px){.hero-grid{min-height:auto}.hero-visual{max-width:760px;margin:auto}.hero-benefits{grid-template-columns:1fr}.home-services{grid-template-columns:repeat(2,minmax(0,1fr))}.sticker-lot{left:-15px}.sticker-save{right:-10px}}
@media(max-width:760px){
  .head{height:68px}.mark{width:38px;height:38px}.cta-small{padding:9px 13px;font-size:.78rem}.section{padding:78px 0}.hero-grid{padding:52px 0 34px;gap:34px}.hero h1{font-size:clamp(2.35rem,12vw,3.8rem)}.hero-visual .photo{transform:none;box-shadow:12px 13px 0 rgba(255,216,74,.42),var(--shadow-soft)}.hero-visual .photo img{height:340px}.visual-sticker{transform:none}.sticker-save{right:-5px;top:18px;width:92px}.sticker-lot{left:-7px;bottom:18px;width:104px}.hero-benefits{padding-bottom:20px}.benefit-item{min-height:88px}.page-hero{padding:60px 0}.page-hero .photo img{height:320px}.home-services{grid-template-columns:1fr}.home-services .card{min-height:205px}.product-with-image,.product-dynamic{grid-template-columns:1fr}.product-with-image .product-thumb,.product-dynamic .product-thumb{width:100%;min-height:230px}.product-with-image>div:last-child,.product-dynamic>div:last-child{padding:23px}.section-head{border-bottom:0}.cta{padding:50px 24px;border-radius:28px}
}

/* v1.3.5: mobile layout and accessible hamburger navigation */
html,body{max-width:100%;overflow-x:clip}.mobile-menu-toggle,.menu-backdrop{display:none}

@media(max-width:960px){
  .header{top:0;z-index:10000;overflow:visible}
  .head{position:relative;height:68px;gap:10px}
  .brand{min-width:0;max-width:calc(100% - 58px);gap:9px;line-height:1.2}
  .brand-copy{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}
  .brand small{display:none}
  .custom-logo{display:block;max-width:150px;max-height:42px;width:auto;height:auto;object-fit:contain}
  .mark{flex:0 0 38px;width:38px;height:38px;font-size:.8rem}

  .mobile-menu-toggle{position:relative;z-index:10002;display:flex;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid rgba(16,33,63,.14);border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(16,33,63,.08);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
  .mobile-menu-toggle span{display:block;width:21px;height:2px;border-radius:99px;background:var(--ink);transition:transform .22s ease,opacity .18s ease}
  .mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-toggle.is-open span:nth-child(2){opacity:0}
  .mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .nav{position:fixed;z-index:10001;top:68px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;max-height:calc(100dvh - 68px);margin:0;padding:18px 18px calc(22px + env(safe-area-inset-bottom));overflow-y:auto;background:rgba(255,255,255,.985);border-top:1px solid rgba(16,33,63,.08);box-shadow:0 22px 44px rgba(16,33,63,.17);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
  .nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .nav .menu-list{display:grid!important;grid-template-columns:1fr;gap:7px;width:100%;margin:0;padding:0}
  .nav .menu-list li{width:100%}
  .nav .menu-list a,.nav a:not(.cta-small){display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:50px;padding:12px 15px;border:1px solid rgba(16,33,63,.09);border-radius:15px;background:#fff;color:var(--ink);font-size:.95rem;line-height:1.45}
  .nav .menu-list a:after{position:static;display:block;width:auto;height:auto;margin-left:12px;background:none;content:"→";color:var(--orange);font-size:1rem}
  .nav .menu-list a:hover{background:#fff7ef;color:var(--orange)}
  .nav .cta-small{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:3px;padding:13px 18px;font-size:.93rem}

  .menu-backdrop{position:fixed;z-index:9999;top:68px;left:0;right:0;bottom:0;display:block;width:100%;height:auto;padding:0;border:0;background:rgba(8,18,37,.38);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
  .menu-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
  body.menu-open{overflow:hidden;touch-action:none}

  body.admin-bar .header{top:32px}
  body.admin-bar .nav,body.admin-bar .menu-backdrop{top:100px}
  body.admin-bar .nav{max-height:calc(100dvh - 100px)}
}

@media(max-width:782px){
  body.admin-bar .header{top:46px}
  body.admin-bar .nav,body.admin-bar .menu-backdrop{top:114px}
  body.admin-bar .nav{max-height:calc(100dvh - 114px)}
}

@media(max-width:760px){
  .container,.narrow{width:calc(100% - 28px)}
  h1,h2,h3{word-break:normal;overflow-wrap:anywhere}
  .section{padding:64px 0}
  .hero-grid{padding:38px 0 30px;gap:30px}
  .hero h1{font-size:clamp(2.25rem,10.8vw,3.15rem);line-height:1.12}
  .hero .lead{font-size:1rem;line-height:1.78}
  .eyebrow{max-width:100%;padding:6px 10px;font-size:.64rem;letter-spacing:.12em;white-space:normal}
  .btns{gap:10px;margin-top:22px}
  .btn{min-height:50px;padding:12px 18px;font-size:.92rem}
  .badges{gap:7px;margin-top:18px}.badges span{padding:6px 10px;font-size:.7rem}

  .hero-visual{width:calc(100% - 10px);margin:4px auto 12px}
  .hero-visual .photo{border-radius:28px 14px 28px 14px;box-shadow:9px 10px 0 rgba(255,216,74,.42),var(--shadow-soft)}
  .hero-visual .photo img{height:clamp(280px,76vw,350px)}
  .hero-visual:before{left:-12px;top:-17px;width:64px;height:64px;border-width:8px}
  .hero-visual:after{right:-8px;bottom:-18px;width:67px;height:67px;border-radius:20px}
  .sticker-save{right:1px;top:13px;width:82px}
  .sticker-lot{left:1px;bottom:12px;width:94px}
  .hero-benefits{gap:10px;padding-bottom:18px}
  .benefit-item{min-height:82px;padding:14px 15px;border-radius:18px}
  .benefit-icon{flex-basis:43px;width:43px;height:43px;border-radius:13px}
  .benefit-item strong{font-size:.94rem}.benefit-item small{font-size:.76rem}

  .page-hero{padding:46px 0 50px}
  .page-grid,.two{gap:30px}
  .page-hero .photo{border-radius:26px 13px 26px 13px;box-shadow:9px 10px 0 rgba(104,205,180,.2),var(--shadow-soft)}
  .page-hero .photo img{height:clamp(230px,68vw,300px)}
  .photo{border-radius:24px}
  .two .photo img{width:100%;height:auto}
  .section-head{margin-bottom:25px;padding-bottom:0}
  .section-head p{margin-top:14px}
  .section-head h2,.two h2{font-size:clamp(1.85rem,8vw,2.5rem)}
  .section-head h2:after,.two h2:after{width:72px;height:6px;margin-top:14px}

  .cards,.cards.two,.cards.four,.cards.five,.products,.scenes,.case-grid,.product-gallery-grid,.factory-grid,.foot{grid-template-columns:minmax(0,1fr)}
  .card,.case-card,.scene,.info-panel{min-width:0;border-radius:22px}
  .home-services .card{min-height:0;padding:23px 21px 58px}
  .home-services .card:after{left:21px;bottom:18px}
  .product,.product-with-image,.product-dynamic{min-width:0;grid-template-columns:minmax(0,1fr)}
  .product-with-image .product-thumb,.product-dynamic .product-thumb{width:100%;min-height:0;aspect-ratio:4/3}
  .product-with-image>div:last-child,.product-dynamic>div:last-child{padding:21px}
  .case-image{height:auto;aspect-ratio:16/10}
  .scene{min-height:190px}
  .step{grid-template-columns:54px minmax(0,1fr)}.step div{padding:17px 16px}
  .cta-mini{padding:23px 20px;border-radius:22px}
  .cta{padding:43px 19px;border-radius:25px}.cta h2{font-size:clamp(1.8rem,8vw,2.45rem)}
  .info-panel{padding:21px 18px}.info-panel dl div{grid-template-columns:minmax(0,1fr);gap:3px;padding:13px 0}.info-panel dd{overflow-wrap:anywhere}
  .foot{gap:27px;padding:42px 0}.copy{font-size:.76rem;line-height:1.6}

  .editable-content{font-size:.96rem;overflow-wrap:anywhere}
  .editable-content table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  iframe,video{max-width:100%;height:auto}
  input,select,textarea,button{max-width:100%;font-size:16px}
}

@media(max-width:390px){
  .container,.narrow{width:calc(100% - 22px)}
  .custom-logo{max-width:128px;max-height:38px}
  .brand-copy{font-size:.92rem}
  .mobile-menu-toggle{flex-basis:42px;width:42px;height:42px;border-radius:13px}
  .hero h1{font-size:clamp(2.08rem,11vw,2.7rem)}
  .hero-visual .photo img{height:270px}
  .sticker-save{width:74px}.sticker-lot{width:84px}
  .btn{font-size:.87rem}
}
