/* IdeaPrint RC2.12: stable concatenation; sources retained in assets for maintenance. */

/* === rc2.css === */

/* IdeaPrint Premium RC2: isolated legacy information; controlled light/dark contrast. */
.ipp-release .ipp-details-section{padding:72px 0 95px;background:var(--bg);color:var(--text)}
.ipp-release .ipp-details-heading{text-align:left;margin:0 auto 25px;max-width:1240px}
.ipp-release .ipp-details-heading h2{font-size:clamp(30px,4.2vw,52px);line-height:1.09;letter-spacing:-.045em;color:var(--text);margin:8px 0 22px}
.ipp-release .ipp-details-heading em{font-style:normal;color:var(--green)}
.ipp-release .ipp-original-details{max-width:1240px;width:min(calc(100% - 48px),1240px);margin:0 auto;color:var(--text);font:inherit;overflow:visible}
.ipp-release .ipp-original-details > div,
.ipp-release .ipp-original-details > section{max-width:100%;color:var(--text)}
.ipp-release .ipp-original-details h2,
.ipp-release .ipp-original-details h3,
.ipp-release .ipp-original-details h4{color:var(--text)!important;text-shadow:none!important;letter-spacing:-.025em;line-height:1.22}
.ipp-release .ipp-original-details p,
.ipp-release .ipp-original-details li,
.ipp-release .ipp-original-details .lead,
.ipp-release .ipp-original-details .sp-text,
.ipp-release .ipp-original-details .sp-lead,
.ipp-release .ipp-original-details .sp-note,
.ipp-release .ipp-original-details .service-subtitle,
.ipp-release .ipp-original-details .prod-seo{color:var(--muted)!important;text-shadow:none!important;line-height:1.7}
.ipp-release .ipp-original-details a{color:var(--green);text-decoration:none}
.ipp-release .ipp-original-details a:hover{text-decoration:underline}
.ipp-release .ipp-original-details img{max-width:100%;height:auto;object-fit:contain}
.ipp-release .ipp-original-details .card,
.ipp-release .ipp-original-details .prod-card,
.ipp-release .ipp-original-details .sp-card,
.ipp-release .ipp-original-details .service-box,
.ipp-release .ipp-original-details .service-hero__media,
.ipp-release .ipp-original-details .review-card,
.ipp-release .ipp-original-details .work-card,
.ipp-release .ipp-original-details .contacts-card,
.ipp-release .ipp-original-details .recommend-card,
.ipp-release .ipp-original-details .feature-card,
.ipp-release .ipp-original-details .info-card,
.ipp-release .ipp-original-details .flip-card,
.ipp-release .ipp-original-details .tag-section .card,
.ipp-release .ipp-original-details .faq-item{
  border:1px solid var(--line)!important;border-radius:22px!important;
  background:var(--surface)!important;color:var(--text)!important;
  box-shadow:0 14px 38px rgba(4,26,14,.055)!important;
  text-shadow:none!important
}
.ipp-release .ipp-original-details .tag-hero,
.ipp-release .ipp-original-details .sp-hero,
.ipp-release .ipp-original-details .service-hero,
.ipp-release .ipp-original-details .prod-intro,
.ipp-release .ipp-original-details .sp-section--muted,
.ipp-release .ipp-original-details .how-we-work{background:var(--surface-2)!important;color:var(--text)!important;text-shadow:none!important;border-radius:26px}
.ipp-release .ipp-original-details .tag-hero,
.ipp-release .ipp-original-details .service-hero{margin:0 auto 32px;overflow:hidden}
.ipp-release .ipp-original-details .sp-hero{margin:0 auto 36px;padding:24px}
.ipp-release .ipp-original-details .sp-container{max-width:1150px;margin:auto}
.ipp-release .ipp-original-details section{scroll-margin-top:120px}
.ipp-release .ipp-original-details input,
.ipp-release .ipp-original-details textarea,
.ipp-release .ipp-original-details select{background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--text)!important;border-radius:12px!important}
.ipp-release .ipp-original-details .btn,
.ipp-release .ipp-original-details .btn-primary,
.ipp-release .ipp-original-details .sp-btn--primary,
.ipp-release .ipp-original-details .service-btn,
.ipp-release .ipp-original-details button[type=submit]{background:#186e52!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:12px 22px!important;box-shadow:none!important}
.ipp-release .ipp-original-details .sp-hero__bullets li::marker{color:#1a9970}
.ipp-release .ipp-original-details .sp-card,.ipp-release .ipp-original-details .service-box{padding:22px!important}
.ipp-release .ipp-original-details .sp-hero__grid,
.ipp-release .ipp-original-details .tag-hero__grid,
.ipp-release .ipp-original-details .service-hero__inner{width:100%;max-width:1200px;margin:auto;gap:28px}
.ipp-release .ipp-original-details .tag-hero__text h2,
.ipp-release .ipp-original-details .sp-hero h2,
.ipp-release .ipp-original-details .service-hero h2{font-size:clamp(31px,3.6vw,50px)!important;line-height:1.12!important;letter-spacing:-.04em!important;margin-bottom:18px!important}
.ipp-release .ip-page-hero__grid{align-items:center}
.ipp-release .ip-page-hero h1{overflow-wrap:break-word}
.ipp-release .ip-stat-panel{background:var(--surface);color:var(--text)}
.ipp-release .ip-stat-panel strong{color:var(--text)}
.ipp-release .ip-stat-panel span{color:var(--muted)}
.ipp-release .ipp-form-note{font-size:14px;color:var(--muted)}
.ipp-release .ipp-article-page{padding:72px 0 95px;background:var(--bg)}
.ipp-release .ipp-article{max-width:880px;margin:auto;padding:30px 36px;background:var(--surface);border:1px solid var(--line);border-radius:28px}
.ipp-release .ipp-article h1{font-size:clamp(36px,5vw,64px);letter-spacing:-.05em;line-height:1.07;margin:14px 0 22px;color:var(--text)}
.ipp-release .ipp-article-body{color:var(--text);font-size:17px;line-height:1.8}
.ipp-release .ipp-article-body a{color:var(--green)}
.ipp-release .ipp-article-body img{max-width:100%;height:auto;border-radius:18px}
.ipp-release .ipp-article-cover{width:100%;height:auto;border-radius:20px;margin:25px 0}
.ipp-release .ipp-breadcrumb{margin-bottom:24px;font-weight:700;color:var(--green)}
/* Feature parity: buttons and cards, especially dark urgent page */
:root[data-theme=dark] .ipp-release .ipp-details-section{background:#0d1713;color:#edf8ef}
:root[data-theme=dark] .ipp-release .ipp-original-details .tag-hero,
:root[data-theme=dark] .ipp-release .ipp-original-details .sp-hero,
:root[data-theme=dark] .ipp-release .ipp-original-details .service-hero,
:root[data-theme=dark] .ipp-release .ipp-original-details .sp-section--muted{background:#162a21!important}
:root[data-theme=dark] .ipp-release .ipp-original-details .card,
:root[data-theme=dark] .ipp-release .ipp-original-details .prod-card,
:root[data-theme=dark] .ipp-release .ipp-original-details .sp-card,
:root[data-theme=dark] .ipp-release .ipp-original-details .service-box{background:#1b3025!important;color:#eef8f0!important;border-color:#3d5a48!important}
:root[data-theme=dark] .ipp-release .ipp-original-details p,
:root[data-theme=dark] .ipp-release .ipp-original-details li{color:#d0dfd4!important}
:root[data-theme=dark] .ipp-original-details a{color:#8be6b9!important}
:root[data-theme=dark] .ipp-original-details .btn-primary,
:root[data-theme=dark] .ipp-original-details .sp-btn--primary{background:#80e0b2!important;color:#09251a!important}
@media(max-width:800px){
  .ipp-release .ipp-original-details{width:calc(100% - 32px)}
  .ipp-release .ipp-original-details .tag-hero__grid,
  .ipp-release .ipp-original-details .sp-hero__grid,
  .ipp-release .ipp-original-details .service-hero__inner{grid-template-columns:1fr!important;display:grid!important;max-width:100%!important}
  .ipp-release .ipp-original-details .card3,
  .ipp-release .ipp-original-details .prod-grid,
  .ipp-release .ipp-original-details .recommend__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ipp-release .ipp-details-section{padding:55px 0 68px}
}
@media(max-width:490px){
  .ipp-release .ipp-original-details .card3,
  .ipp-release .ipp-original-details .prod-grid,
  .ipp-release .ipp-original-details .recommend__grid{grid-template-columns:1fr!important}
  .ipp-release .ipp-article{padding:20px 17px}
}


/* RC2.1: semantic quote buttons (no link-follow race) */
button[data-ip-modal-open]{cursor:pointer;font-family:inherit;appearance:none;-webkit-appearance:none}
button.ip-header__cta,button.ip-button{font-family:inherit;font-weight:760;line-height:1.3;text-align:center}
button.ip-text-link{background:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;color:inherit;font-family:inherit;font-weight:760;padding:6px 0;cursor:pointer;display:inline-flex;align-items:center;gap:12px}
button.ip-text-link:hover{color:var(--green, #178a67)}


/* === rc23-fixes.css === */
/* IdeaPrint RC2.3: video visibility, Contact Form 7 feedback and colour contrast. */

/* The previous v4.4 CSS accidentally hid the entire video body with display:none!important.
   Restore the original portrait thumbnail without loading MP4 until play. */
.ipp-release #ip-floating-video{z-index:1250!important}
.ipp-release #ip-floating-video .ip-floating-video__body{
  display:block!important;padding:0!important;position:relative!important;visibility:visible!important;
}
.ipp-release #ip-floating-video .ip-floating-video__stage{height:auto!important;aspect-ratio:9/16!important;width:100%!important;overflow:hidden!important;}
.ipp-release #ip-floating-video .ip-floating-video__stage img,
.ipp-release #ip-floating-video .ip-floating-video__stage video{
  display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;
}
.ipp-release #ip-floating-video .ip-floating-video__stage video{object-fit:contain!important;background:#12271f}
.ipp-release #ip-floating-video .ip-floating-video__play{
  display:flex!important;place-items:center!important;justify-content:center!important;
  border:0!important;text-align:center!important;line-height:1!important;
}
.ipp-release #ip-floating-video .ip-floating-video__play[hidden]{display:none!important}
.ipp-release #ip-floating-video .ip-floating-video__play span{line-height:1!important}
/* Soft contrast around the actual video frame, no panel or hard border. */
.ipp-release #ip-floating-video:not(.is-expanded){filter:drop-shadow(0 6px 14px rgba(5,25,16,.26));}
.ipp-release #ip-floating-video.is-expanded{filter:drop-shadow(0 15px 32px rgba(5,25,16,.32));}
.ipp-release.ip-dialog-open #ip-floating-video{visibility:hidden!important;pointer-events:none!important}
@media(max-width:760px){
  /* Tiny preview is visible from the beginning; don't cover mobile quick links. */
  .ipp-release #ip-floating-video:not(.is-expanded):not(.is-contact-obstructing):not(.is-hidden){opacity:1!important;transform:none!important;pointer-events:auto!important}
  .ipp-release #ip-floating-video.is-contact-obstructing:not(.is-expanded){opacity:0!important;pointer-events:none!important}
  .ipp-release #ip-floating-video:not(.is-expanded){bottom:calc(66px + env(safe-area-inset-bottom,0px))!important}
  .ipp-release #ip-floating-video.is-hidden{opacity:0!important;pointer-events:none!important}
}
/* The status message from CF7 used very pale green text on white; fix contrast for both themes.
   Plugin's success/failure event is the source of truth. */
.ipp-release .ipp-mail-feedback[hidden]{display:none!important}
.ipp-release .ipp-mail-feedback{
  margin:16px 0 18px;border-radius:16px;padding:17px 19px;
  border:1px solid #67b895;background:#e5f7ed;color:#133d2a;
  display:grid;gap:5px;font-size:14px;line-height:1.5;
  box-shadow:0 8px 22px rgba(15,85,48,.08)
}
.ipp-release .ipp-mail-feedback strong{display:block;font-size:16px;font-weight:780;line-height:1.3;color:inherit}
.ipp-release .ipp-mail-feedback span{display:block;color:inherit}
.ipp-release .ipp-mail-feedback--invalid{background:#fff3d8;border-color:#d2a544;color:#664408}
.ipp-release .ipp-mail-feedback--spam,
.ipp-release .ipp-mail-feedback--failed{background:#ffebeb;border-color:#dd7575;color:#7b2020}
.ipp-release .ipp-cf7-wrapper .wpcf7-response-output{
  display:block;box-sizing:border-box;
  color:#153d2a!important;background:#eaf8ef!important;border:2px solid #65b98d!important;
  font-size:14px!important;font-weight:650;line-height:1.48;
  margin:12px 0!important;padding:14px 16px!important;border-radius:14px!important;
}
.ipp-release .ipp-cf7-wrapper .wpcf7 form:not(.sent) .wpcf7-response-output{
  background:#fff3dd!important;color:#654607!important;border-color:#d6a64e!important;
}
.ipp-release .ipp-cf7-wrapper .wpcf7 form.failed .wpcf7-response-output,
.ipp-release .ipp-cf7-wrapper .wpcf7 form.spam .wpcf7-response-output{
  background:#ffebeb!important;color:#792525!important;border-color:#dc7777!important;
}
.ipp-release .ipp-cf7-wrapper .wpcf7-not-valid-tip{color:#b12b2b!important;font-size:12px!important}
/* Form in the dark section: preserve strong contrast, including CF7 server notices. */
.ipp-release .ip-contact-section .ipp-cf7-wrapper .wpcf7-response-output{background:#e4f7ec!important;color:#123f29!important}
/* Dark theme modal text and inputs are clearly legible. */
:root[data-theme='dark'] .ipp-release .ip-modal .ipp-cf7-wrapper label{color:#e0f2e7!important}
:root[data-theme='dark'] .ipp-release .ip-modal .ipp-mail-feedback{background:#163b29;color:#e2ffed;border-color:#6bc896}
:root[data-theme='dark'] .ipp-release .ip-modal .ipp-mail-feedback--failed,
:root[data-theme='dark'] .ipp-release .ip-modal .ipp-mail-feedback--spam{background:#562626;color:#fff0ed;border-color:#da8383}
:root[data-theme='dark'] .ipp-release .ip-modal .ipp-mail-feedback--invalid{background:#554321;color:#fff1cb;border-color:#d7ac55}
/* Modal CF7 controls must not visually vanish into light background. */
.ipp-release .ip-modal .ipp-cf7-wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.ipp-release .ip-modal .ipp-cf7-wrapper textarea,
.ipp-release .ip-modal .ipp-cf7-wrapper select{
  border:1px solid #c8dbd0!important;background:#f0f6f1!important;color:#143025!important;
  min-height:44px;border-radius:13px;
}
.ipp-release .ip-modal .ipp-cf7-wrapper input:focus-visible,
.ipp-release .ip-modal .ipp-cf7-wrapper textarea:focus-visible{
  outline:2px solid #49b890!important;outline-offset:2px;
}
:root[data-theme='dark'] .ipp-release .ip-modal .ipp-cf7-wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),
:root[data-theme='dark'] .ipp-release .ip-modal .ipp-cf7-wrapper textarea,
:root[data-theme='dark'] .ipp-release .ip-modal .ipp-cf7-wrapper select{
  background:#243e30!important;color:#f3fff7!important;border-color:#547665!important;
}
@media(prefers-reduced-motion:reduce){.ipp-release .ipp-mail-feedback{transition:none!important}}
/* Avoid two simultaneous success boxes: persistent message is the primary confirmation. */
.ipp-release .ipp-mail-feedback--success:not([hidden]) ~ .ipp-cf7-wrapper .wpcf7-response-output{display:none!important}


/* === season2027.css === */
/* IdeaPrint — Seasonal campaign 2027. Scoped to ipp-promo; no page/SEO layout changes. */
.ipp-promo-flame{appearance:none;flex:none;position:relative;align-items:center;justify-content:center;width:46px;height:46px;border-radius:16px;border:1px solid #b96b38;background:linear-gradient(155deg,#63321d,#3a241c 55%,#233028);box-shadow:0 8px 20px #32170b33,inset 0 1px #f5b77a55;color:#ffd3a6;cursor:pointer;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.ipp-promo-flame:not([hidden]){display:inline-flex}.ipp-promo-flame[hidden]{display:none!important}
.ipp-promo-flame:hover{transform:translateY(-2px);box-shadow:0 12px 30px #d67c3c55,inset 0 1px #f5b77a77}
.ipp-promo-flame svg{width:23px;height:23px;position:relative;z-index:2;filter:drop-shadow(0 0 8px #ff9c4c77)}
.ipp-promo-flame::after{content:'2027';position:absolute;top:-7px;right:-10px;min-width:27px;padding:3px 4px 2px;border-radius:12px;background:#faad69;color:#3a1c0a;font-size:9px;line-height:1;font-weight:900;letter-spacing:.02em;box-shadow:0 3px 8px #0002}
.ipp-promo-flame.is-breathing svg{animation:ipp-flame-breath 2.8s ease-in-out infinite}
@keyframes ipp-flame-breath{50%{transform:scale(1.12) rotate(-5deg);filter:drop-shadow(0 0 14px #ffb461)}}
.ipp-promo-dialog{border:0!important;padding:0!important;background:transparent!important;outline:0;overflow:visible;width:min(1060px,calc(100vw - 38px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 30px);margin:auto;box-shadow:none;color:#fafbf8}
.ipp-promo-dialog:focus-visible{outline:0!important}
.ipp-promo-dialog::backdrop{background:rgba(5,16,12,.72);backdrop-filter:blur(13px) saturate(110%);-webkit-backdrop-filter:blur(13px) saturate(110%)}
.ipp-promo-dialog[open]{animation:ipp-promo-reveal .52s cubic-bezier(.16,1,.3,1) both}
@keyframes ipp-promo-reveal{from{opacity:0;transform:translateY(28px) scale(.94);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
.ipp-promo-card{position:relative;display:grid;grid-template-columns:52% 48%;width:100%;max-height:calc(100dvh - 30px);overflow:auto;overscroll-behavior:contain;isolation:isolate;background:#10261e;border:1px solid #85a58b47;border-radius:32px;box-shadow:0 28px 95px rgba(0,0,0,.55),inset 0 1px #ffffff16}
.ipp-promo-left{position:relative;min-width:0;padding:62px clamp(28px,4.5vw,62px) 48px;background:radial-gradient(circle at -8% 10%,#3e715043,transparent 48%),linear-gradient(140deg,#142e25,#0e211b 75%);overflow:hidden}
.ipp-promo-left::before{content:'';position:absolute;width:370px;height:370px;left:-200px;bottom:-230px;border:1px solid #88d3a337;border-radius:50%;box-shadow:0 0 0 65px #82d6a00c,0 0 0 135px #82d6a008;pointer-events:none}
.ipp-promo-left>*{position:relative;z-index:1}
.ipp-promo-tag{display:inline-flex;align-items:center;gap:9px;margin-bottom:31px;padding:9px 13px;border:1px solid #faa85b64;border-radius:999px;background:#e4894023;color:#ffd6ad;font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.ipp-promo-tag .ipp-promo-dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:#f9a55b;box-shadow:0 0 13px 3px #f79f5199}
.ipp-promo-kicker{display:block;font-size:13px;letter-spacing:.24em;font-weight:800;color:#8cdeb3;margin-bottom:8px;text-transform:uppercase}
.ipp-promo-title{font-size:clamp(40px,4vw,64px);font-weight:860;line-height:1.035;letter-spacing:-.065em;margin:0 0 23px;color:#f9fbf6;max-width:480px;text-wrap:balance}
.ipp-promo-title > span{color:#96e3ba;display:block}.ipp-promo-year{display:inline!important;color:#ffbe83;font-feature-settings:'tnum';letter-spacing:-.07em}
.ipp-promo-desc{font-size:14.5px;line-height:1.7;color:#bfd3c6;max-width:440px;margin:0 0 24px}
.ipp-promo-benefits{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 29px;padding:0;list-style:none}
.ipp-promo-benefits li{padding:9px 11px;background:#ffffff0e;border:1px solid #ffffff22;color:#d9e6dc;border-radius:999px;font-size:11px;font-weight:700}
.ipp-promo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ipp-promo-action{appearance:none;display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:49px;padding:13px 18px;border-radius:999px;font-weight:750;font-size:13px;line-height:1.15;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.ipp-promo-action:hover{transform:translateY(-2px)}
.ipp-promo-action--primary{border:1px solid #f7b47f;background:linear-gradient(130deg,#fbd0a8,#eda369);color:#341c11;box-shadow:0 8px 28px #d9814338}
.ipp-promo-action--primary:hover{box-shadow:0 12px 36px #ea985b66}
.ipp-promo-action--secondary{border:1px solid #ffffff44;background:#ffffff0d;color:#f5fff9}
.ipp-promo-action--secondary:hover{background:#ffffff1c}
.ipp-promo-action:focus-visible,.ipp-promo-close:focus-visible,.ipp-promo-flame:focus-visible{outline:3px solid #79e9bd;outline-offset:3px}
.ipp-promo-contact{margin-top:15px;padding:15px;border:1px solid #ffffff31;background:#ffffff0d;border-radius:18px;display:flex;gap:9px;flex-wrap:wrap}
.ipp-promo-contact[hidden]{display:none!important}
.ipp-promo-contact a{padding:9px 12px;border-radius:12px;background:#fcfff5;color:#173f2a;font-size:12px;font-weight:780;white-space:nowrap}
.ipp-promo-note{margin:19px 0 0;color:#8da69a;font-size:11px;line-height:1.45}
.ipp-promo-right{position:relative;min-height:540px;overflow:hidden;background:radial-gradient(circle at 65% 42%,#f6dfbe 0%,#d9c5a7 58%,#b7a48f 110%)}
.ipp-promo-right::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-30deg,#fff2 0 1px,transparent 1px 24px);opacity:.2;pointer-events:none}
.ipp-promo-right::after{content:'';position:absolute;width:510px;height:510px;left:-150px;top:140px;border-radius:50%;background:radial-gradient(circle,#ffffff7b,transparent 65%);pointer-events:none}
.ipp-promo-right>*{position:absolute;z-index:2}
.ipp-promo-product-mark{top:35px;left:39px;display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.02em;font-weight:880;color:#3d372a}
.ipp-promo-product-mark img{width:29px;height:29px;object-fit:contain;filter:brightness(.55) sepia(.7) hue-rotate(88deg) saturate(.5)}
.ipp-promo-outline-year{top:7%;right:-4%;font-size:clamp(128px,15vw,225px);font-weight:950;letter-spacing:-.12em;line-height:1;color:#ffffff30;-webkit-text-stroke:1.5px #ffffff99;pointer-events:none}
.ipp-promo-product{position:absolute;background:linear-gradient(150deg,#fffefb,#f5f6f0);border:1px solid #fff9;box-shadow:0 22px 45px #53382150,inset 0 1px #fff;overflow:hidden;display:grid;place-items:center;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.ipp-promo-product img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:7%;filter:drop-shadow(0 13px 9px #344b351a)}
.ipp-promo-product--calendar{top:22%;right:8%;width:53%;aspect-ratio:.86;border-radius:27px;transform:rotate(9deg);z-index:4}
.ipp-promo-product--notebook{bottom:12%;left:8%;width:54%;aspect-ratio:.86;border-radius:27px;transform:rotate(-9deg);z-index:5}
.ipp-promo-product--calendar::after,.ipp-promo-product--notebook::after{position:absolute;bottom:12px;left:12px;font-size:11px;font-weight:800;color:#204a33;padding:7px 11px;border:1px solid #d6e7d8;border-radius:999px;background:#fffffff2}
.ipp-promo-product--calendar::after{content:'Календари'}
.ipp-promo-product--notebook::after{content:'Блокноты'}
.ipp-promo-card:hover .ipp-promo-product--calendar{transform:translateY(-7px) rotate(10deg)}
.ipp-promo-card:hover .ipp-promo-product--notebook{transform:translateY(-7px) rotate(-10deg)}
.ipp-promo-seal{right:7%;bottom:5%;width:103px;height:103px;border-radius:50%;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #ffd6a9;outline:5px solid #874c2e;background:linear-gradient(145deg,#a8522d,#67381f);color:#fff1e3;box-shadow:0 11px 25px #62402a66;transform:rotate(11deg);font-size:10px;font-weight:800;line-height:1.4;letter-spacing:.09em;text-align:center}
.ipp-promo-seal b{font-size:20px;letter-spacing:-.08em}
.ipp-promo-close{position:absolute;top:18px;right:18px;z-index:20;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid #ffffffbd;background:#ffffffdd;color:#21372b;cursor:pointer;box-shadow:0 5px 20px #0002;transition:background .2s,transform .2s;font-size:22px;line-height:1}
.ipp-promo-close:hover{background:#fff;transform:rotate(90deg)}
.ipp-promo-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Dark/light site themes retain the same high-contrast campaign creative. */
:root[data-theme="light"] .ipp-promo-flame{box-shadow:0 10px 25px #9a5b2d33,inset 0 1px #f5b77a55}
:root[data-theme="dark"] .ipp-promo-dialog:focus-visible{outline:0!important}
.ipp-promo-dialog::backdrop{background:#000b}
@media(max-width:1120px){.ip-header__actions .ipp-promo-flame{width:42px;height:42px}.ipp-promo-right{min-height:510px}}
@media(max-width:760px){
 .ip-header__actions{gap:8px}
 .ip-header__actions .ipp-promo-flame{width:38px;height:38px;border-radius:13px}
 .ip-header__actions .ipp-promo-flame svg{width:20px;height:20px}
 .ip-header__actions .ipp-promo-flame::after{top:-7px;right:-7px;font-size:8px;min-width:24px}
 .ipp-promo-dialog{width:calc(100vw - 18px);max-width:calc(100vw - 18px);max-height:calc(100dvh - 20px)}
 .ipp-promo-card{grid-template-columns:1fr;max-height:calc(100dvh - 20px);border-radius:23px}
 .ipp-promo-left{padding:31px 24px 27px;order:2}
 .ipp-promo-right{order:1;min-height:188px;height:188px}
 .ipp-promo-tag{margin-bottom:13px;padding:7px 10px;font-size:9px}
 .ipp-promo-kicker{font-size:11px}
 .ipp-promo-title{font-size:clamp(30px,8.4vw,42px);margin-bottom:12px}
 .ipp-promo-desc{font-size:12.5px;line-height:1.6;margin-bottom:12px}
 .ipp-promo-benefits{gap:5px;margin-bottom:15px}.ipp-promo-benefits li{font-size:10px;padding:6px 9px}
 .ipp-promo-action{min-height:43px;padding:11px 15px;font-size:12px}
 .ipp-promo-note{margin-top:12px}
 .ipp-promo-product-mark{top:15px;left:21px;font-size:10px}.ipp-promo-product-mark img{width:22px;height:22px}
 .ipp-promo-outline-year{font-size:130px;top:-10%;right:1%}
 .ipp-promo-product--calendar{top:15%;right:17%;width:28%;border-radius:15px;aspect-ratio:.9}
 .ipp-promo-product--notebook{bottom:3%;left:22%;width:29%;border-radius:15px;aspect-ratio:.9}
 .ipp-promo-product--calendar::after,.ipp-promo-product--notebook::after{display:none}
 .ipp-promo-seal{width:67px;height:67px;bottom:8%;right:10%;border-width:1px;outline-width:3px;font-size:7px}
 .ipp-promo-seal b{font-size:14px}
 .ipp-promo-close{top:12px;right:12px;width:34px;height:34px}
}
@media(max-width:410px){.ipp-promo-left{padding:25px 19px 22px}.ipp-promo-title{font-size:29px}.ipp-promo-actions{gap:8px}.ipp-promo-benefits li:last-child{display:none}.ipp-promo-right{height:148px;min-height:148px}.ipp-promo-product--calendar{width:30%}.ipp-promo-product--notebook{width:30%}.ipp-promo-seal{right:8%;bottom:4%}}
@media(max-height:720px) and (min-width:761px){.ipp-promo-left{padding-top:32px;padding-bottom:27px}.ipp-promo-right{min-height:480px}.ipp-promo-title{font-size:clamp(38px,3.4vw,53px)}.ipp-promo-desc{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.ipp-promo-dialog[open],.ipp-promo-flame.is-breathing svg{animation:none!important}.ipp-promo-product,.ipp-promo-flame,.ipp-promo-close,.ipp-promo-action{transition:none!important}}


/* === season2027-photo.css === */

/* 2027 PHOTO CREATIVE — photo replaces schematic tiles. Intentionally scoped. */
.ipp-promo-card{
  grid-template-columns:minmax(0,48%) minmax(0,52%);
  background:#09281e;
  border:1px solid rgba(111,201,161,.39);
  box-shadow:0 38px 100px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.1)
}
.ipp-promo-left{
  padding:51px clamp(27px,3.6vw,56px) 42px;
  background:radial-gradient(ellipse at -12% 100%,rgba(18,110,68,.28),transparent 56%),linear-gradient(117deg,#08271d 1%,#0b2f23 64%,#092b20 100%);
}
.ipp-promo-left::before{opacity:.35}
.ipp-promo-tag{margin-bottom:20px}
.ipp-promo-kicker{font-size:11.5px;letter-spacing:.19em;margin-bottom:10px}
.ipp-promo-title{font-size:clamp(38px,4vw,57px);line-height:1.04;margin-bottom:22px;max-width:490px;letter-spacing:-.055em}
.ipp-promo-title>span{white-space:nowrap}
.ipp-promo-desc{font-size:14px;color:#c1d6cb;line-height:1.6;margin-bottom:20px}
.ipp-promo-desc strong{display:block;margin-bottom:5px;font-size:16px;font-weight:750;line-height:1.3}
.ipp-promo-benefits{gap:9px 8px;margin-bottom:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.ipp-promo-benefits li{padding:10px 11px;border-radius:999px;line-height:1.25;font-size:11px;white-space:nowrap;text-align:center;background:rgba(255,255,255,.035);border-color:rgba(166,238,201,.22)}
.ipp-promo-action--primary{background:linear-gradient(110deg,#ffd3a8,#ffb76e);border-color:#ffcb96}
.ipp-promo-right{min-height:580px;background:#08251c;isolation:isolate}
.ipp-promo-right::before{
  content:"";position:absolute;inset:0;z-index:3;
  background:linear-gradient(90deg,rgba(9,43,32,.72),rgba(9,43,32,0) 14%);
  opacity:1;pointer-events:none
}
.ipp-promo-right::after{display:none!important}
.ipp-promo-art{position:absolute;inset:0;z-index:1;display:block;overflow:hidden}
.ipp-promo-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;max-width:none;filter:none!important}
.ipp-promo-close{z-index:21}
/* Hide old decorative objects if cached markup from a legacy preview exists. */
.ipp-promo-product,.ipp-promo-seal,.ipp-promo-product-mark,.ipp-promo-outline-year{display:none!important}
@media(max-width:1060px) and (min-width:761px){
 .ipp-promo-left{padding:38px 25px 31px}
 .ipp-promo-title{font-size:clamp(35px,4vw,47px)}
 .ipp-promo-right{min-height:510px}
 .ipp-promo-benefits li{font-size:10px;padding:9px 8px}
}
@media(max-width:760px){
 .ipp-promo-card{grid-template-columns:1fr}
 .ipp-promo-left{order:2;padding:25px 24px 26px}
 .ipp-promo-right{order:1;min-height:230px;height:230px}
 .ipp-promo-right::before{background:linear-gradient(0deg,#0b2c21,transparent 13%)}
 .ipp-promo-art img{object-fit:cover;object-position:center 45%}
 .ipp-promo-tag{margin-bottom:12px}
 .ipp-promo-kicker{font-size:10px;letter-spacing:.14em}
 .ipp-promo-title{font-size:clamp(30px,7.8vw,40px);margin-bottom:13px}
 .ipp-promo-desc{font-size:12px;margin-bottom:13px}
 .ipp-promo-desc strong{font-size:14px}
 .ipp-promo-benefits{gap:6px;margin-bottom:17px}
 .ipp-promo-benefits li{font-size:10px;padding:8px 5px}
 .ipp-promo-action{min-height:44px}
}
@media(max-width:410px){
 .ipp-promo-left{padding:21px 19px 22px}
 .ipp-promo-right{height:177px;min-height:177px}
 .ipp-promo-title{font-size:29px}
 .ipp-promo-benefits li:last-child{display:block}
 .ipp-promo-benefits li{font-size:9px}
 .ipp-promo-close{top:9px;right:9px}
}
@media(max-height:710px) and (min-width:761px){
 .ipp-promo-left{padding-top:25px;padding-bottom:20px}
 .ipp-promo-right{min-height:495px}
 .ipp-promo-benefits{margin-bottom:17px}
 .ipp-promo-tag{margin-bottom:12px}
 .ipp-promo-title{margin-bottom:13px;font-size:clamp(34px,3.7vw,48px)}
 .ipp-promo-desc{margin-bottom:12px}
}


/* === hero-photo.css === */
/* IdeaPrint RC2.6 — real-products homepage hero only. Scoped to the front page. */
body.ipp-release .ipp-home .ip-hero__visual--real-photo {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3;
  overflow: visible;
  isolation: isolate;
  margin: 0;
  transform: none;
}
body.ipp-release .ipp-home .ip-hero__visual--real-photo::before {
  content: '';
  position: absolute;
  inset: 6% 4% -5%;
  border-radius: 45%;
  background: rgba(59,164,121,.13);
  filter: blur(36px);
  pointer-events: none;
  z-index: -1;
}
body.ipp-release .ipp-home .ip-hero__photo-frame {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: clamp(20px, 2.1vw, 34px);
  overflow: hidden;
  border: 1px solid rgba(109,185,144,.16);
  box-shadow: 0 30px 80px rgba(3,29,20,.22), 0 10px 30px rgba(3,29,20,.11);
  background: #09291e;
  transition: transform .45s cubic-bezier(.2,.75,.2,1), box-shadow .45s ease;
}
body.ipp-release .ipp-home .ip-hero__photo-frame img {
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center center;
  padding:0;
  margin:0;
  mix-blend-mode: normal;
  filter: none;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  body.ipp-release .ipp-home .ip-hero__photo-frame:hover {
    transform: translateY(-5px);
    box-shadow:0 40px 90px rgba(3,29,20,.24),0 14px 35px rgba(3,29,20,.14);
  }
}
:root[data-theme='light'] body.ipp-release .ipp-home .ip-hero__photo-frame,
:root:not([data-theme='dark']) body.ipp-release .ipp-home .ip-hero__photo-frame {
  box-shadow: 0 32px 75px rgba(7,43,29,.20), 0 10px 30px rgba(4,36,21,.12);
}
@media (max-width: 1100px){
  body.ipp-release .ipp-home .ip-hero__grid { gap: clamp(20px, 3vw, 42px); }
}
@media (max-width: 760px){
  body.ipp-release .ipp-home .ip-hero__visual--real-photo {
    width:100%; height:auto!important; min-height:0!important;
    aspect-ratio:4/3; max-width:600px; margin: 16px auto 0;
    order: 2;
  }
  body.ipp-release .ipp-home .ip-hero__photo-frame { border-radius:22px; }
}
@media (max-width: 390px){
  body.ipp-release .ipp-home .ip-hero__photo-frame { border-radius:17px; }
  body.ipp-release .ipp-home .ip-hero__visual--real-photo { margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce){
  body.ipp-release .ipp-home .ip-hero__photo-frame { transition:none!important; }
}


/* === popular-products-photo.css === */
/* IdeaPrint RC2.8: Consistent realistic images for eight cards. */
.ipp-home #products .ip-product__media--photo {
  background: #f2eee7;
  border-color: rgba(28,62,45,.15);
  isolation: isolate;
}
.ipp-home #products .ip-product__media--photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  mix-blend-mode: normal;
}
:root[data-theme="dark"] .ipp-home #products .ip-product__media--photo {
  background: #eee9e1;
  border-color: rgba(162,209,182,.18);
}
:root[data-theme="dark"] .ipp-home #products .ip-product__media--photo img {
  mix-blend-mode: normal;
}
@media (prefers-reduced-motion: reduce) {
  .ipp-home #products .ip-product__media--photo img { transition: none; }
}


/* === legacy-contrast-rc29.css === */
/* IdeaPrint RC2.9: legacy content color isolation. Prevents light-on-light text in dark theme.
   No global selectors, leaves header, modal, payment and contact controls untouched. */
.ipp-release .ipp-original-details{
  --text:#173429; --muted:#496357; --green:#137a59;
  --surface:#f9fcfa; --surface-2:#e9f3ed; --line:#cadfd1;
  color:var(--text)!important;background:#e7f1eb; padding:clamp(17px,3.8vw,54px);
  border-radius:26px; box-shadow:0 18px 55px rgba(0,0,0,.08);
  overflow:hidden;
}
.ipp-release .ipp-original-details > :is(div,section),
.ipp-release .ipp-original-details :is(.works-page,.services-page,.contacts-page,.about-page,.design-page,.product-page,.products-page,.works-wrapper,.services-wrapper,.contacts-wrapper){
  color:#173429!important; background-color:transparent!important;
}
.ipp-release .ipp-original-details :is(h1,h2,h3,h4,h5,h6,.works-title,.services-title,.contacts-title){
  color:#153b2a!important; text-shadow:none!important;
}
.ipp-release .ipp-original-details :is(p,li,.lead,.sp-text,.sp-lead,.sp-note,.service-subtitle,.prod-seo,.works-subtitle,.contacts-subtitle,.contacts-note,.faq-question,summary){
  color:#3b594a!important;text-shadow:none!important;
}
.ipp-release .ipp-original-details :is(.card,.prod-card,.sp-card,.service-box,.service-card,.flip-card,.sp-faq__item,.sp-step,.sp-cta,.review-card,.work-card,.work-info,.contacts-card,.faq-item,.faq-answer,.faq-question,.recommend-card,.feature-card,.info-card,.step,.step-item,.step-card,.how-step,.work-step,.process-step,.design-hero,.works-section,.works-intro,.works-cta){
  background:#f7faf8!important; color:#173b2a!important;
  border-color:#cbded2!important; box-shadow:0 12px 32px rgba(10,54,31,.06);
}
.ipp-release .ipp-original-details :is(.tag-hero,.sp-hero,.service-hero,.prod-intro,.sp-section--muted,.how-we-work){
  background:#eef6f1!important;color:#183a2a!important;
}
.ipp-release .ipp-original-details :is(.work-info,.faq-answer,.step p,.step-item p,.process-step p,.design-hero p) {color:#3b594a!important}
.ipp-release .ipp-original-details :is(a, a:visited):not(.btn):not(.btn-primary):not(.sp-btn--primary):not(.service-btn):not(.works-cta-btn){color:#136b4d!important}
.ipp-release .ipp-original-details :is(.btn,.btn-primary,.sp-btn--primary,.service-btn,.works-cta-btn,button[type=submit]){
  background:#176c4f!important;color:#fff!important;border:1px solid #176c4f!important;
}
.ipp-release .ipp-original-details :is(.btn,.btn-primary,.sp-btn--primary,.service-btn,.works-cta-btn,button[type=submit]) :is(span,strong){color:#fff!important}
.ipp-release .ipp-original-details :is(input,textarea,select){background:#fff!important;color:#1b3428!important;border:1px solid #bbd7c6!important}
.ipp-release .ipp-original-details :is(input,textarea)::placeholder{color:#597266!important;opacity:1}
.ipp-release .ipp-original-details :is(.works-filter-item,.faq-item,.sp-faq__item summary,.sp-faq__item summary::marker,summary){color:#234b37!important}
.ipp-release .ipp-original-details .works-filter-item:hover{background:#daf0e3!important}
.ipp-release .ipp-original-details .works-section{padding:23px 20px;margin-bottom:22px;border-radius:22px}
.ipp-release .ipp-original-details .works-section-head{text-align:left;margin-bottom:20px}
.ipp-release .ipp-original-details .works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ipp-release .ipp-original-details .work-card{margin:0;overflow:hidden;padding:0!important;border-radius:19px!important}
.ipp-release .ipp-original-details .work-card .work-thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:#e7eee8}
.ipp-release .ipp-original-details .work-card .work-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ipp-release .ipp-original-details .work-card .work-info{padding:15px;background:transparent!important}
.ipp-release .ipp-original-details .work-card .work-info p{font-size:13px;line-height:1.55;margin:7px 0 0}
.ipp-release .ipp-original-details .works-filter{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.ipp-release .ipp-original-details .works-filter-item{background:#fff;border:1px solid #cadecf;border-radius:99px;padding:9px 14px;font-size:13px}
.ipp-release .ipp-original-details .works-cta{padding:24px;border-radius:22px}
/* The original design page contains an image and pale text on a pale panel. */
.ipp-release .ipp-original-details .design-hero__text :is(h1,h2,h3,p),
.ipp-release .ipp-original-details .design-hero__text {color:#254a38!important}
.ipp-release .ipp-original-details :is(.works-cta,.contacts-card,.contact-card,.contacts-grid) :is(a,span,strong){color:inherit}
@media(max-width:850px){.ipp-release .ipp-original-details .works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.ipp-release .ipp-original-details{padding:18px;border-radius:18px;width:calc(100% - 24px)}.ipp-release .ipp-original-details .works-grid{grid-template-columns:1fr}.ipp-release .ipp-original-details .works-section{padding:12px}.ipp-release .ipp-original-details .work-card .work-info{padding:12px}}

:root[data-theme=dark] .ipp-release .ipp-original-details{
  --text:#173429;--muted:#486558;--green:#137a59;--surface:#f9fcfa;--surface-2:#e9f3ed;--line:#cadfd1;
  color:#173429!important;background:#e7f1eb!important;
}
:root[data-theme=dark] .ipp-release .ipp-original-details :is(p,li,.lead,.sp-text,.sp-lead,.sp-sublead,.sp-note,.sp-step__text,.services-subtitle,.service-subtitle,.works-subtitle,.contacts-subtitle,.contacts-note,.prod-seo,.faq-question,.faq-body,.faq-body p,.sp-faq__item p,.design-hero__text p){
  color:#385747!important;text-shadow:none!important;
}
:root[data-theme=dark] .ipp-release .ipp-original-details :is(h1,h2,h3,h4,h5,h6,.sp-step__title,.sp-section__title,.sp-card__title,.works-title,.services-title,.contacts-title){
  color:#193b2b!important;text-shadow:none!important;
}
:root[data-theme=dark] .ipp-release .ipp-original-details :is(.service-hero,.sp-hero,.sp-section--muted,.prod-intro,.tag-hero,.how-we-work,.services-intro,.works-intro){
  background:#e7f1eb!important;color:#193b2b!important;
}
:root[data-theme=dark] .ipp-release .ipp-original-details :is(.card,.prod-card,.sp-card,.service-box,.service-card,.flip-card,.work-card,.works-section,.works-cta,.contacts-card,.contacts-grid,.faq-item,.sp-faq__item,.sp-cta,.sp-step,.sp-steps li,.sp-section--cta,.design-hero,.step,.step-card,.work-step,.process-step){
  background:#f8faf8!important;color:#1a3a2c!important;border-color:#cbddd1!important;
}
:root[data-theme=dark] .ipp-release .ipp-original-details :is(.services-page,.works-page,.contacts-page,.about-page,.design-page,.services-wrapper,.works-wrapper,.contacts-wrapper){
  background-color:transparent!important;color:#1d3b2c!important;
}
:root[data-theme=dark] .ipp-release .ipp-original-details :is(.services-page,.sp-page,.design-page,.contacts-page) :is(a,span,small,label):not(.btn):not(.btn-primary):not(.sp-btn--primary):not(.service-btn):not(.sp-step__num){
  color:#255841!important;
}
:root[data-theme=dark] .ipp-release .ipp-original-details :is(.sp-btn,.btn,.btn-primary,.sp-btn--primary,.service-btn,.works-cta-btn,button[type=submit]){
  background:#176c4f!important;color:#fff!important;border-color:#176c4f!important;
}
:root[data-theme=dark] .ipp-release .ipp-original-details :is(.sp-btn,.btn,.btn-primary,.sp-btn--primary,.service-btn,.works-cta-btn,button[type=submit]) :is(span,strong){color:#fff!important}
:root[data-theme=dark] .ipp-release .ipp-original-details :is(.sp-step__num,.sp-steps li .sp-step__num){background:#10d1b0!important;color:#0c342a!important}
:root[data-theme=dark] .ipp-release .ipp-original-details :is(.faq-item summary,.sp-faq__item summary,.faq-question){color:#214734!important}


/* === catalog-unified-rc29.css === */
/* Unified card treatment across homepage, product catalog, and related product links. */
.ipp-release .ip-product__media--photo,.ipp-release .ip-product-detail__image:has(img[src*="/popular-products/"]){background:#edece5!important;border-color:rgba(27,74,47,.14)!important}
.ipp-release .ip-product__media--photo img{width:100%;height:100%;display:block;object-fit:cover!important;mix-blend-mode:normal!important;transition:transform .42s cubic-bezier(.2,.7,.2,1)}
.ipp-release .ip-product:hover .ip-product__media--photo img{transform:scale(1.035)}
.ipp-release .ip-product-detail__image:has(img[src*="/popular-products/"]) img{object-fit:contain!important;mix-blend-mode:normal!important;max-height:570px}
:root[data-theme=dark] .ipp-release .ip-product__media--photo img{mix-blend-mode:normal!important}
@media(prefers-reduced-motion:reduce){.ipp-release .ip-product__media--photo img{transition:none!important}}


/* === feature-business-cards.css === */
/* IdeaPrint Premium RC2.10 — branded cards for the Approach section. */
.ip-feature__visual {
  position: relative;
  width: min(100%, 530px);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  overflow: hidden;
  isolation: isolate;
  border-radius: clamp(22px, 2.4vw, 34px);
  background: #09241a;
  border: 1px solid rgba(155, 226, 193, .16);
  box-shadow: 0 28px 65px rgba(3, 16, 11, .24), 0 3px 20px rgba(3, 16, 11, .10);
}
.ip-feature__visual picture,
.ip-feature__visual img { display:block; width:100%; height:100%; }
.ip-feature__visual img { object-fit:cover; object-position:center; transition:transform .65s cubic-bezier(.2,.75,.15,1); }
.ip-feature__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.055);
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .ip-feature__visual:hover img { transform: scale(1.025); }
}
@media (max-width:980px) {
  .ip-feature__inner { gap: 22px; }
  .ip-feature__visual { max-width: 560px; }
}
@media (max-width:760px) {
  .ip-feature__inner { gap:0; }
  .ip-feature__visual { margin: 0 auto 38px; width: min(100%, 480px); border-radius:23px; }
}
@media (prefers-reduced-motion:reduce) {
  .ip-feature__visual img { transition:none!important; }
}


/* === rc211-polish.css === */
/* IdeaPrint RC2.11: product inner pages and archival portfolio. */
.ipp-release .ipp-related-products .ip-product__media--photo {
  background:#efece4;border-color:rgba(23,74,49,.16);isolation:isolate;
}
.ipp-release .ipp-related-products .ip-product__media--photo img {
  width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:center!important;mix-blend-mode:normal!important;
}
.ipp-release .ipp-product-details-link {
  display:inline-flex;gap:10px;align-items:center;min-height:44px;
  margin:12px 0 0;padding:8px 0;color:var(--green,#188765);
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;
  font-weight:680;font-size:14px;
}
.ipp-release .ipp-product-details-link:hover {text-decoration-thickness:2px}
.ipp-release .ipp-product-details-link:focus-visible,
.ipp-release .ip-filterbar button:focus-visible,
.ipp-release .ip-work:focus-visible {
  outline:3px solid #20bf90;outline-offset:4px;
}
.ipp-release #ipp-product-details {scroll-margin-top:115px}
.ipp-release .ip-product-detail__image img {mix-blend-mode:normal!important}
.ipp-release .ipp-image-unavailable {
  min-height:140px;display:flex;align-items:center;justify-content:center;
  border:1px dashed #92b2a0;background:#f0f5f1;color:#425f4e;
  border-radius:14px;text-align:center;padding:20px;
  font-size:13px;line-height:1.6;
}
.ipp-release .ip-filterbar {row-gap:9px}
.ipp-release .ip-portfolio-grid__item.is-filtered{display:none!important}
@media (max-width:760px) {
  .ipp-release .ip-product-detail{padding-bottom:58px;gap:24px}
  .ipp-release .ip-product-detail__image {aspect-ratio:1.2}
  .ipp-release .ipp-related-products .ip-product-grid{gap:12px}
  .ipp-release .ipp-related-products .ip-product__details h3{font-size:15px}
  .ipp-release .ipp-related-products .ip-product__details p{font-size:12px}
  .ipp-release .ipp-original-details :is(img,iframe,video){max-width:100%;height:auto}
  .ipp-release .ipp-original-details table{display:block;max-width:100%;overflow-x:auto}
}
@media(max-width:360px){
  .ipp-release .ipp-related-products .ip-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .ipp-release .ipp-related-products .ip-product__media{border-radius:14px}
  .ipp-release .ipp-related-products .ip-product__details{padding:8px 2px}
}
@media(prefers-reduced-motion:reduce){.ipp-release .ip-product__media img{transition:none!important}}


/* RC2.12 faster overlay release. */
.ip-preloader{transition:opacity .3s ease,visibility .3s ease}
@media (prefers-reduced-motion:reduce){.ip-preloader{transition:none!important}}


/* === RC2.13: curated, non-duplicated commercial content === */
.ipp-release .ipp-guide-section{padding:clamp(44px,6vw,86px) 0;background:var(--bg);color:var(--text)}
.ipp-release #ipp-product-details{scroll-margin-top:calc(var(--header-h, 86px) + 28px)}
.ipp-release .ipp-guide-heading{max-width:850px;margin-bottom:28px}
.ipp-release .ipp-guide-heading h2{font-size:clamp(31px,4.3vw,55px);line-height:1.08;letter-spacing:-.043em;margin:10px 0 18px;color:var(--text)}
.ipp-release .ipp-guide-heading h2 em{font-style:normal;color:var(--green)}
.ipp-release .ipp-guide-heading p:not(.ip-kicker){font-size:clamp(15px,1.3vw,18px);line-height:1.75;color:var(--muted);max-width:780px}
.ipp-release .ipp-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ipp-release .ipp-guide-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.ipp-release .ipp-guide-card{min-width:0;padding:clamp(22px,3vw,34px);border-radius:23px;background:var(--surface);border:1px solid var(--line);box-shadow:0 14px 45px rgba(0,0,0,.045)}
.ipp-release .ipp-guide-card__number{display:inline-flex;color:var(--green);font-weight:750;font-size:13px;letter-spacing:.15em;margin-bottom:15px}
.ipp-release .ipp-guide-card h3{font-size:clamp(18px,1.8vw,24px);line-height:1.2;letter-spacing:-.025em;color:var(--text);margin:0 0 12px}
.ipp-release .ipp-guide-card p{color:var(--muted);font-size:15px;line-height:1.7;margin:0}
.ipp-release .ipp-guide-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;border:1px solid var(--line);background:var(--surface);padding:clamp(22px,3vw,32px);border-radius:23px}
.ipp-release .ipp-guide-bottom h3,.ipp-release .ipp-guide-faq h3{color:var(--text);font-size:23px;line-height:1.2;margin:0 0 9px}
.ipp-release .ipp-guide-bottom p{margin:0;color:var(--muted);line-height:1.7;max-width:750px}
.ipp-release .ipp-guide-bottom .ip-button{flex-shrink:0;white-space:nowrap}
.ipp-release .ipp-guide-faq{border:1px solid var(--line);background:var(--surface);padding:clamp(20px,3vw,32px);border-radius:23px;margin-top:20px}
.ipp-release .ipp-guide-faq h3{margin-bottom:15px}
.ipp-release .ipp-guide-faq details{border-top:1px solid var(--line);padding:16px 0}
.ipp-release .ipp-guide-faq summary{cursor:pointer;font-weight:650;color:var(--text);font-size:16px}
.ipp-release .ipp-guide-faq details p{margin:12px 0 0;color:var(--muted);line-height:1.7}
.ipp-release .ipp-guide-faq a{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.ipp-release .ipp-context-nav{background:var(--bg);color:var(--text);padding:20px 0 36px}
.ipp-release .ipp-context-nav .ip-shell{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ipp-release .ipp-context-nav__label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:var(--muted)}
.ipp-release .ipp-context-nav__links{display:flex;gap:9px;flex-wrap:wrap}
.ipp-release .ipp-context-nav__links a{display:inline-flex;align-items:center;gap:5px;min-height:42px;padding:9px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:13px;text-decoration:none;font-weight:650;transition:border-color .18s ease, transform .18s ease}
.ipp-release .ipp-context-nav__links a:hover{border-color:var(--green);transform:translateY(-2px)}
.ipp-release .ipp-context-nav__links a:focus-visible,.ipp-release .ipp-guide-faq summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:820px){.ipp-release .ipp-guide-grid--three{grid-template-columns:1fr}.ipp-release .ipp-guide-bottom{flex-direction:column;align-items:stretch}.ipp-release .ipp-guide-bottom .ip-button{width:100%;text-align:center}}
@media(max-width:620px){.ipp-release .ipp-guide-grid{grid-template-columns:1fr}.ipp-release .ipp-guide-card{padding:24px}.ipp-release .ipp-guide-section{padding:48px 0}.ipp-release .ipp-context-nav{padding-bottom:28px}.ipp-release .ipp-context-nav .ip-shell{align-items:flex-start;flex-direction:column;gap:10px}.ipp-release .ipp-context-nav__links a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ipp-release .ipp-context-nav__links a{transition:none}}

/* RC2.14 — admin bar and compact-screen navigation (scoped to the live theme).
   WordPress uses a fixed toolbar above 600px; offset the sticky header below it. */
@media (min-width:783px) {
  body.admin-bar.ipp-release .ip-header {top:32px;}
}
@media (min-width:601px) and (max-width:782px) {
  body.admin-bar.ipp-release .ip-header {top:46px;}
}
@media (max-width:600px) {
  body.admin-bar.ipp-release .ip-header {top:0;}
}
@media (max-width:980px) {
  .ipp-release .ip-header__row {min-width:0;}
  .ipp-release .ip-header__actions {flex-shrink:0;}
  .ipp-release .ip-nav.is-open {
    max-height:min(72dvh,calc(100dvh - 125px));
    overflow-y:auto;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .ipp-release .ip-nav-more[open] .ip-nav-more__list {position:static;}
}
@media (max-width:420px) {
  .ipp-release .ip-header__row {gap:7px;}
  .ipp-release .ip-brand {font-size:24px;min-width:0;}
  .ipp-release .ip-brand__symbol {width:28px;height:28px;margin-right:5px;}
  .ipp-release .ip-brand>small {left:34px!important;font-size:7px;letter-spacing:1.25px;}
  .ipp-release .ip-header__actions {gap:6px;}
  .ipp-release .ip-theme-toggle,
  .ipp-release .ip-menu-toggle,
  .ipp-release .ipp-promo-flame {width:40px;height:40px;min-width:40px;}
  .ipp-release .ipp-promo-flame::after {right:-5px;top:-8px;}
}
.ipp-release .ip-nav a:focus-visible,
.ipp-release .ip-nav summary:focus-visible,
.ipp-release .ip-theme-toggle:focus-visible,
.ipp-release .ip-menu-toggle:focus-visible {
  outline:3px solid #64e5b3;outline-offset:3px;
}
