:root{--ink:#17323a;--sub:#71848a;--pale:#f7f9f8;--line:#e3e9e9;--teal:#315d66;--teal2:#176c73;--mint:#b6ded5;--orange:#e97c4d;--radius:14px;}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.wrap{width:min(1380px,calc(100% - 72px));margin:auto}.sr{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}
.announcement{background:#244650;color:#d7f0ed;font-size:12px;letter-spacing:.5px}.announcement-inner{height:33px;display:flex;align-items:center;justify-content:space-between}.announcement-inner span:last-child{opacity:.73}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #edf0ef;backdrop-filter:blur(16px)}.nav-row{min-height:79px;display:flex;align-items:center;gap:50px}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.logo-cube{background:#235a62;color:white;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:28px;line-height:1;font-weight:500}.brand-letters{display:flex;flex-direction:column;line-height:1.16}.brand-letters strong{font-size:22px;letter-spacing:1px;font-weight:800}.brand-dot{color:#df8a5b}.brand-letters small{font-size:9px;letter-spacing:2.6px;font-weight:700;margin-top:6px;color:#879da1}.nav{display:flex;align-items:center;gap:36px;margin-left:auto}.nav a{font-size:14px;font-weight:700;color:#596a6e;white-space:nowrap;padding:30px 0;position:relative;transition:color .2s}.nav a:hover,.nav a.active{color:var(--teal2)}.nav a.active:after{content:"";height:3px;left:0;right:0;bottom:19px;position:absolute;border-radius:3px;background:#dd8e62}.header-cta{font-size:14px;background:var(--teal);color:white;padding:12px 19px;border-radius:8px;font-weight:700;white-space:nowrap;margin-left:8px}.header-cta span{margin-left:20px}.header-cta:hover{background:#1d454d}.hamburger{display:none;border:0;background:transparent;font-size:22px}
.hero{background:linear-gradient(112deg,#f2f8f7 0,#f2f7f6 48%,#e5f2ed 100%);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;background:radial-gradient(circle,#cbdfd7 1px,transparent 1px);background-size:20px 20px;opacity:.28;width:500px;height:400px;left:-220px;bottom:-150px}.hero-content{min-height:433px;display:grid;grid-template-columns:1.24fr .76fr;gap:60px;align-items:center;padding-top:47px;padding-bottom:40px;position:relative}.hero-copy{position:relative;z-index:2}.hero-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.9px;color:#41777b;display:flex;align-items:center;gap:10px}.badge-dot{height:8px;width:8px;background:#db8d63;border-radius:50%;box-shadow:0 0 0 5px #efdcd1}.hero-index{margin-left:8px;opacity:.45;font-size:10px}.hero h1{font-size:clamp(38px,3.7vw,60px);line-height:1.27;letter-spacing:-1.2px;margin:20px 0 17px;font-weight:800}.hero h1 em{color:#337b7e;font-style:normal}.hero-description{color:#6a8586;font-size:15px;max-width:550px;line-height:2;margin:0 0 26px}.search-box{display:flex;align-items:center;background:white;max-width:660px;min-height:59px;padding:7px 7px 7px 21px;border:1px solid #dce8e6;box-shadow:0 8px 35px #254d4910;border-radius:11px;gap:13px}.search-box svg{width:20px;height:20px;stroke:#86a1a1;stroke-width:1.8;fill:none;flex-shrink:0}.search-box input{min-width:0;flex:1;border:0;outline:none;color:var(--ink);background:transparent;font-size:14px}.search-box input::placeholder{color:#a2b2b2}.search-box button{background:#315d66;border:0;color:#fff;font-size:13px;font-weight:800;border-radius:7px;padding:12px 19px;white-space:nowrap}.search-box button b{margin-left:12px;font-size:17px}.search-box button:hover{background:#18464e}.hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:19px;margin-top:17px;font-size:12px;color:#8ea3a5}.hero-tags a{font-weight:700;color:#497377}.hero-tags a:hover{color:#ef855a}.hero-tags b{font-size:11px;font-weight:500}.hero-graphic{height:350px;display:flex;align-items:center;justify-content:center;position:relative}.graphic-frame{width:min(96%,425px);background:#fff;box-shadow:0 27px 70px #3a5f5840;border:9px solid white;border-radius:15px;transform:rotate(5deg);overflow:hidden;position:relative}.graphic-toolbar{height:26px;background:#eef5f3;display:flex;gap:5px;align-items:center;padding:0 12px}.graphic-toolbar i{height:7px;width:7px;border-radius:50%;background:#c2d8d3}.graphic-toolbar i:first-child{background:#e5a592}.graphic-toolbar span{margin-left:auto;font-size:7px;letter-spacing:2px;color:#83aaa9}.graphic-nav{display:flex;justify-content:space-between;align-items:center;background:white;height:31px;padding:0 20px}.graphic-nav span{width:55px;height:9px;border-radius:2px;background:#2b6268}.graphic-nav div{display:flex;gap:10px}.graphic-nav i{width:21px;height:4px;border-radius:2px;background:#d7e4e3}.graphic-sky{height:200px;background:linear-gradient(120deg,#2b7f80,#bbdad1);position:relative;overflow:hidden;padding:23px 23px;color:#fff}.graphic-sky strong{font-size:30px;line-height:1.1;position:relative;z-index:2;display:block;margin-top:18px;letter-spacing:-.5px}.sky-tag{font-size:9px;letter-spacing:2px;position:relative;z-index:2}.orb{position:absolute;right:-38px;bottom:-99px;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle at 25% 25%,#e7ffdf 0,#92cbbb 35%,#397a82 78%);box-shadow:inset 13px -11px 28px #0e4a5c70}.graphic-line{position:absolute;border:1px solid #ffffff69;border-radius:50%;width:340px;height:340px;bottom:-170px;right:-55px}.graphic-line.two{width:240px;height:240px;right:-15px;bottom:-120px}.graphic-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:11px}.graphic-tiles span{height:39px;background:#e2edeb;border-radius:3px}.graphic-tiles span:nth-child(2){background:#c9e0d7}.graphic-tiles span:nth-child(3){background:#d3e9e6}.float-tag{position:absolute;left:0;bottom:46px;background:#fff;padding:13px 20px;border-radius:8px;font-size:12px;color:#3b7473;font-weight:800;box-shadow:0 12px 30px #395b5b20;transform:rotate(-6deg)}
.catalog{background:#fff;padding:61px 0 43px;border-bottom:1px solid #edf1ef}.catalog-intro{display:flex;justify-content:space-between;align-items:end;gap:30px}.overline{color:#50898b;font-weight:800;font-size:11px;letter-spacing:1.9px}.catalog h2{font-size:28px;letter-spacing:-.5px;line-height:1.35;margin:11px 0 6px}.catalog-intro p{margin:0;color:#91a1a4;font-size:13px}.catalog-num{font-size:48px;font-weight:800;color:#95c6be;line-height:1;letter-spacing:-3px}.catalog-num small{display:block;letter-spacing:1.5px;font-size:9px;color:#9da9a9;text-align:right;margin-top:7px}.category-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.category-pill{font-size:13px;padding:8px 15px;color:#647d7f;border:1px solid #e0e9e8;border-radius:6px;background:#fbfdfc;transition:.16s;white-space:nowrap;font-weight:600}.category-pill:hover{border-color:#80afb0;background:#eef6f4;color:#2d7172}.category-pill.selected{background:#2f656a;border-color:#2f656a;color:white}
.gallery{background:#fcfdfc;padding:68px 0 86px}.gallery-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px;gap:20px}.gallery-top h2{font-size:35px;letter-spacing:-1px;margin:9px 0 5px;line-height:1.32}.title-spark{font-size:19px;color:#df925f;vertical-align:super;margin-left:7px}.gallery-top p{color:#899a9f;margin:0;font-size:13px}.gallery-top p strong{color:#4b7b7b}.gallery-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding-bottom:5px}.result-counter{border-radius:50px;background:#eef5f3;color:#587d7e;font-size:12px;font-weight:800;padding:8px 13px}.reset-link{font-size:12px;color:#637d80;font-weight:700}.reset-link:hover{color:#e57d52}.data-note{padding:14px 17px;border:1px solid #e2ebe6;border-radius:10px;background:#f4f8f6;display:flex;align-items:start;gap:11px;margin:0 0 24px;color:#5a7a7d}.data-note>span{font-size:17px}.data-note p{margin:0;font-size:12px;line-height:1.8}.data-note code{background:white;padding:2px 6px;border-radius:4px;color:#235e63;font-family:monospace}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 17px}.card{min-width:0;background:white;border:1px solid #e8eeed;box-shadow:0 6px 22px #1e414008;border-radius:11px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}.card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #2852531c;border-color:#cee0dd}.card-image{display:block;position:relative;aspect-ratio:1.6/1;background:#e8f0ef;overflow:hidden}.card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .4s}.card:hover .card-image img{transform:scale(1.038)}.card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 75%,#14353317);pointer-events:none}.card-image-tag{position:absolute;z-index:1;left:10px;top:10px;color:#386e6c;background:#fffE;font-size:10px;font-weight:800;backdrop-filter:blur(6px);border-radius:4px;padding:4px 9px}.card-image-arrow{position:absolute;z-index:1;right:10px;bottom:10px;width:27px;height:27px;background:white;color:#1e6366;border-radius:5px;display:grid;place-items:center;font-size:16px;box-shadow:0 4px 10px #23484821}.image-unavailable{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:linear-gradient(130deg,#e8f3f0,#dce9e5);height:100%;width:100%;font-size:12px;color:#65827f;text-align:center}.image-unavailable small{color:#96aaa4;font-size:10px}.card-info{padding:15px 14px 13px;display:flex;flex-direction:column;flex:1;min-height:134px}.card-eyebrow{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:11px;color:#4c8283;font-weight:800}.code-tag{font-family:'DM Sans',sans-serif;font-size:10px;color:#95a5a7;font-weight:600}.card-info h3{font-size:14px;line-height:1.55;margin:8px 0 17px;font-weight:800;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:43px}.card-info h3 a:hover{color:#31787e}.card-footer{border-top:1px solid #f0f3f2;margin-top:auto;padding-top:9px;display:flex;gap:6px;align-items:center;justify-content:space-between}.source-indicator{color:#a3b5b4;font-size:10px}.source-indicator.is-seed{color:#be9b80}.card-footer a{color:#437b7e;font-size:11px;font-weight:800;white-space:nowrap}.card-footer a:hover{color:#e17d54}.card-footer b{margin-left:4px;font-size:14px}.paging{margin-top:43px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#849698;font-size:12px}.paging-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.paging-links a{border:1px solid #e2eae9;padding:8px 13px;min-width:34px;text-align:center;background:#fff;border-radius:6px;font-weight:800;color:#57787c}.paging-links a.current,.paging-links a:hover{color:#fff;background:#315d66;border-color:#315d66}.empty-state{text-align:center;padding:90px 20px;border-radius:13px;border:1px dashed #cbdedb;background:#f6faf9}.empty-icon{font-size:55px;line-height:1;color:#85adae}.empty-state h3{font-size:21px;margin:14px 0 6px}.empty-state p{color:#90a2a3;font-size:13px;margin:0 0 23px}.empty-state a{color:white;background:#315d66;padding:10px 21px;border-radius:7px;font-weight:800;font-size:13px}
.bottom-banner{background:#254a52;color:#fff;position:relative;overflow:hidden;padding:85px 0 90px}.bottom-banner:before{content:"";position:absolute;top:-400px;right:-120px;width:850px;height:850px;border-radius:50%;border:1px solid #ffffff1a;box-shadow:0 0 0 70px #ffffff05,0 0 0 150px #ffffff08}.banner-content{position:relative;z-index:1}.bottom-banner .overline{color:#9fcbc9}.banner-content h2{font-size:clamp(39px,5vw,70px);line-height:1.3;letter-spacing:-2px;margin:16px 0 16px;font-weight:800}.banner-content h2 em{font-style:normal;color:#b5d9d2}.banner-content p{font-size:14px;color:#bed0d1;margin-bottom:30px}.banner-content>a{display:inline-flex;align-items:center;gap:58px;background:#f0f5f1;color:#2c5960;padding:13px 22px;border-radius:6px;font-size:14px;font-weight:800}.banner-content>a:hover{background:#f8d6c1}.banner-motif{font-size:220px;line-height:1;position:absolute;font-weight:800;color:#ffffff09;right:-30px;bottom:-30px;letter-spacing:-22px;pointer-events:none}.orange-message{background:#df7f50;color:white}.orange-content{min-height:75px;display:flex;align-items:center;gap:27px}.orange-content strong{font-size:21px;letter-spacing:1px;flex-shrink:0}.orange-content span{font-size:14px;font-weight:600;line-height:1.65}.footer{background:#172f35;color:#b5cbce}.footer-main{padding:56px 0;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:65px}.footer-brand{font-size:27px;font-weight:800;color:white}.footer-brand span{color:#db8c62}.footer-main p{font-size:12px;color:#91acaf;line-height:2;margin-top:12px}.footer-short{display:flex;flex-direction:column;gap:10px}.footer-short strong{font-size:13px;color:white;margin-bottom:9px}.footer-short a,.footer-short span{font-size:12px;color:#9bb7bb}.footer-short a:hover{color:white}.copyright{border-top:1px solid #ffffff14;display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:11px;color:#76969c;letter-spacing:.4px}.back-top{position:fixed;bottom:32px;right:27px;width:40px;height:40px;border:0;background:#2c626a;color:white;border-radius:6px;z-index:20;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s;box-shadow:0 4px 15px #1d3f3e40}.back-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}
@media(min-width:1680px){.wrap{width:min(1520px,calc(100% - 100px))}.cards{grid-template-columns:repeat(6,minmax(0,1fr))}.hero-content{min-height:480px}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-content{grid-template-columns:1.3fr .7fr;gap:25px}.hero-graphic{height:300px}.graphic-frame{width:330px}.nav-row{gap:25px}.nav{gap:22px}.footer-main{gap:30px}}
@media(max-width:820px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-graphic{display:none}.hero-content{min-height:0;display:block;padding-top:65px;padding-bottom:65px}.hero h1{font-size:44px}.header-cta{display:none}.nav{gap:18px}.nav-row{gap:20px}.footer-main{grid-template-columns:1.7fr 1fr 1fr;gap:25px}.footer-short:last-child{grid-column:2/4}}
@media(max-width:600px){.wrap{width:calc(100% - 28px)}.announcement-inner{justify-content:center}.announcement-inner span:last-child{display:none}.nav-row{min-height:66px}.logo-cube{height:34px;width:34px;font-size:21px}.brand-letters strong{font-size:19px}.brand-letters small{font-size:7px;letter-spacing:1.8px}.hamburger{display:block;margin-left:auto}.nav{display:none;position:absolute;top:66px;left:0;right:0;background:white;border-bottom:1px solid #edf2f0;box-shadow:0 10px 22px #14353a14;flex-direction:column;align-items:stretch;margin:0;padding:9px 16px 18px;gap:0}.nav.open{display:flex}.nav a{padding:12px}.nav a.active:after{display:none}.hero-content{padding:47px 0}.hero h1{font-size:34px;letter-spacing:-1px}.hero-description{font-size:13px}.hero-eyebrow{font-size:9px;letter-spacing:1px}.hero-index{display:none}.search-box{padding-left:12px;gap:8px}.search-box input{font-size:12px}.search-box button{padding:10px 13px;font-size:12px}.search-box button b{display:none}.hero-tags{gap:10px;font-size:11px}.catalog{padding:37px 0 32px}.catalog h2{font-size:23px}.catalog-num{display:none}.category-row{gap:7px;margin-top:20px}.category-pill{font-size:11px;padding:7px 10px}.gallery{padding:42px 0 60px}.gallery-top{align-items:start;flex-direction:column}.gallery-top h2{font-size:28px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-image{aspect-ratio:1.4}.card-info{padding:10px;min-height:128px}.card-info h3{font-size:12px;line-height:1.5;min-height:52px;-webkit-line-clamp:3;margin:7px 0 10px}.card-eyebrow{font-size:10px}.card-eyebrow .code-tag{font-size:9px}.card-image-tag{font-size:9px;padding:3px 6px;left:6px;top:6px}.card-image-arrow{right:6px;bottom:6px;width:23px;height:23px}.card-footer a{font-size:10px}.source-indicator{font-size:9px}.paging{flex-direction:column;align-items:start}.bottom-banner{padding:60px 0 65px}.banner-content h2{font-size:40px;letter-spacing:-1px}.banner-motif{display:none}.orange-content{padding:16px 0;display:block}.orange-content strong{display:block;font-size:19px;margin-bottom:6px}.orange-content span{font-size:12px}.footer-main{grid-template-columns:1fr 1fr;gap:27px;padding:37px 0}.footer-main>div:first-child{grid-column:1/3}.footer-short:last-child{grid-column:auto}.footer-short{gap:7px}.copyright{font-size:9px}.back-top{right:14px;bottom:16px}}

/* V3.3 -- common fixed pledge ribbon. Keep outside the scrolling main element. */
body{padding-bottom:76px}
.fixed-pledge{height:76px;position:fixed;bottom:0;left:0;right:0;z-index:300;display:flex;align-items:center;background:#ee7b39;color:#fff;box-shadow:0 -5px 28px #20434925;border-top:2px solid #ffb05b;overflow:hidden}
.pledge-head{display:flex;align-items:center;justify-content:center;height:100%;min-width:174px;padding:0 18px 0 26px;flex-shrink:0;font-size:20px;font-weight:900;white-space:nowrap;background:#db692a;box-shadow:7px 0 22px #98411440;z-index:2}
.pledge-flow{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;outline-offset:-3px}
.pledge-flow::-webkit-scrollbar{display:none}
.pledge-track{display:flex;align-items:center;width:max-content;animation:pledge-slide 65s linear infinite}
.pledge-list{display:flex;align-items:center;white-space:nowrap;gap:34px;padding:0 34px 0 0;font-size:16px;font-weight:700}
.pledge-list>span{flex-shrink:0}
.pledge-flow:hover .pledge-track,.pledge-flow:focus .pledge-track,.pledge-flow:focus-within .pledge-track{animation-play-state:paused}
@keyframes pledge-slide{to{transform:translateX(-50%)}}
.back-top{bottom:98px!important}
.preview-body{background:#f5f9f7}
.preview-main{padding:36px 0 84px;min-height:calc(100vh - 230px)}
.preview-breadcrumb{font-size:13px;color:#789092;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.preview-breadcrumb a:hover{color:#28686b}
.preview-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:25px 0 31px}
.preview-heading h1{font-size:clamp(23px,2.5vw,36px);line-height:1.35;margin:8px 0 13px;letter-spacing:-.5px;max-width:960px}
.preview-heading p{margin:0;color:#7b9295;font-size:13px}
.preview-eyebrow{font-size:12px;letter-spacing:1.3px;font-weight:800;color:#43797a}
.preview-eyebrow span{padding:0 8px;color:#e48a59}
.preview-back{display:inline-block;white-space:nowrap;border:1px solid #d9e6e4;border-radius:8px;background:white;padding:11px 16px;color:#477579;font-size:13px;font-weight:700}
.preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}
.preview-stage{min-width:0;background:white;border:1px solid #e2ebea;border-radius:15px;padding:17px;box-shadow:0 16px 40px #2149480c}
.preview-switch{display:flex;align-items:center;gap:9px;border-bottom:1px solid #e9f0ee;padding:3px 3px 16px;flex-wrap:wrap}
.mode-button{background:#f5f9f8;border:1px solid #e2eae7;color:#638183;border-radius:8px;padding:9px 15px;font-size:13px;font-weight:700}
.mode-button.selected,.mode-button:hover{color:white;background:#2f6269;border-color:#2f6269}
.preview-stage-area{min-height:450px;display:grid;place-items:center;padding:37px 16px 25px;background:radial-gradient(circle at top left,#e5f0eb,#f8faf9 50%,#eaf4f2);border-radius:10px;margin-top:17px;overflow:hidden}
.device-view{width:min(100%,850px);margin:0 auto;background:#fff;border:7px solid #fff;border-radius:11px;overflow:hidden;box-shadow:0 20px 60px #2c55502e;transition:width .25s}
.device-view.mobile{width:min(100%,360px);border:9px solid #2c4146;border-radius:26px}
.device-chrome{height:25px;background:#f2f6f6;display:flex;align-items:center;gap:5px;padding:0 14px;color:#7a9996;font-size:10px;letter-spacing:.5px}
.device-chrome i{width:7px;height:7px;border-radius:50%;background:#b5c9c6}
.device-chrome i:first-child{background:#e6a38c}
.device-chrome span{margin-left:auto}
.device-screen{min-height:260px;max-height:660px;overflow:auto;background:#e5efec}
.device-screen img{width:100%;height:auto;display:block;object-fit:contain;object-position:top center}
.device-view.mobile .device-screen{max-height:540px}
.device-view.mobile .device-screen img{width:100%;min-height:480px;object-fit:cover;object-position:top center}
.preview-caption{font-size:12px;color:#91a0a0;padding:13px 7px 0}
.live-frame-wrap{width:100%;height:700px;position:relative}
.live-frame-wrap iframe{width:100%;height:620px;border:1px solid #dee9e6;background:white;border-radius:8px}
.live-fallback{font-size:12px;color:#768d8f;text-align:center;padding:12px}
.preview-side{background:white;border:1px solid #e2ece9;border-radius:15px;padding:26px;box-shadow:0 16px 40px #2149480c;position:sticky;top:112px}
.detail-chip{display:inline-block;background:#e9f5f1;color:#388481;padding:6px 12px;border-radius:5px;font-size:11px;font-weight:800}
.preview-side h2{font-size:22px;margin:13px 0 21px}
.preview-detail-row{padding:13px 0;border-bottom:1px solid #edf2f1}
.preview-detail-row>span{display:block;color:#9baaaa;font-size:12px;margin-bottom:7px}
.preview-detail-row strong{display:block;font-size:13px;line-height:1.8;word-break:break-word;color:#264a50}
.preview-detail-row .detail-host{color:#4c8280;font-size:13px}
.preview-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.preview-button{display:block;text-align:center;border-radius:8px;padding:13px 14px;font-size:14px;font-weight:800}
.preview-button.primary{background:#27646a;color:white}
.preview-button.secondary{border:1px solid #dceae6;background:#f4f9f7;color:#387378}
.preview-explain{margin-top:25px;border-radius:9px;background:#f4f8f6;padding:17px;color:#57787c}
.preview-explain strong{font-size:13px}
.preview-explain p{font-size:12px;line-height:1.8;margin:9px 0 0}
.preview-missing{padding:140px 20px;text-align:center}
.preview-missing p{margin:14px 0 24px;color:#809396}
.preview-missing .preview-button{max-width:220px;margin:0 auto}
.preview-footer{padding:25px 0;background:#19363d;color:#c0d8d6;font-size:12px;text-align:center}
@media(max-width:980px){.preview-layout{grid-template-columns:minmax(0,1fr)}.preview-side{position:static}.preview-heading{align-items:start}.pledge-head{min-width:140px;font-size:17px}.pledge-list{font-size:14px}}
@media(max-width:650px){body{padding-bottom:68px}.fixed-pledge{height:68px}.pledge-head{min-width:100px;padding:0 8px;font-size:14px}.pledge-list{font-size:13px;gap:16px}.preview-stage{padding:10px}.preview-stage-area{padding:16px 7px;min-height:300px}.preview-heading{display:block}.preview-back{margin-top:18px}.preview-main{padding:22px 0 50px}.preview-side{padding:19px}.live-frame-wrap{height:520px}.live-frame-wrap iframe{height:450px}}
@media(prefers-reduced-motion:reduce){.pledge-track{animation:none}}

/* On a source catalog detail only, clip its original 54px menu inside the iframe.
   Our own header stays visible above. This is a visual embed, NOT a rewrite of the remote site. */
.source-frame-wrap{overflow:hidden;min-height:750px}
.source-frame-wrap iframe{position:relative;top:-54px;height:680px;border-radius:0}
.source-frame-wrap .live-fallback{position:relative;margin-top:-54px;background:#f7faf9}
@media(max-width:650px){.source-frame-wrap{min-height:540px}.source-frame-wrap iframe{height:480px}}
