/* 3Q PRINT Corporate VI v1.0: accessible digital application. */
:root{--brand-primary:#19a3f3;--brand-secondary:#1457d8;--blue:var(--brand-secondary);--ink:#111;--muted:#666;--paper:#f2f4f7;--line:#dce5ee}
body{font-family:Montserrat,'Noto Sans SC',sans-serif}h1,h2,h3,.brand span,footer strong,.service-top span{font-family:Montserrat,'Noto Sans SC',sans-serif;font-weight:700;letter-spacing:-.035em}html[lang=zh-Hans] h1,html[lang=zh-Hans] h2,html[lang=zh-Hans] h3{font-weight:500;letter-spacing:0}button{font:inherit}.brand small{font-family:Montserrat,sans-serif}.brand img{object-fit:contain}.eyebrow{font-size:.875rem;letter-spacing:.09em;color:var(--blue)}
header{border-top:3px solid var(--brand-primary);background:#fffffff5}.button{border-radius:18px 6px 18px 6px}.dark,.white{background:var(--brand-secondary)}.dark:hover,.white:hover{background:#1048b5}.text-link{border-color:#a2d9fa}nav a:after{background:var(--brand-primary)}.language{background:#f2f4f7}.section-heading h2,.shop-intro h2,.collection-heading h2{color:#111}.section-heading .eyebrow,.collection-heading .eyebrow,.shop-intro .eyebrow{display:flex;gap:12px;align-items:center}.section-heading .eyebrow:before,.collection-heading .eyebrow:before,.shop-intro .eyebrow:before{content:'';width:25px;height:3px;border-radius:3px;background:var(--brand-primary)}
.page-lead{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#fff 60%,#19a3f30d);border-radius:0 0 48px 0;border-bottom:2px solid #19a3f350;padding-inline:30px}.page-lead:after{content:'';position:absolute;right:20px;top:35px;width:95px;height:95px;background:radial-gradient(circle,#19a3f345 2px,transparent 3px) 0 0/18px 18px;z-index:-1}.page-lead h1{color:#1457d8}.breadcrumbs{position:relative;z-index:1}
#services .service{border-radius:26px 8px 26px 8px;box-shadow:none}#services .service-top,#services .service:nth-child(2) .service-top,#services .service:nth-child(6) .service-top{background:linear-gradient(115deg,#19a3f319,#f2f4f7);border-color:#19a3f328}#services .service-top svg,#services .service:nth-child(2) .service-top svg,#services .service:nth-child(6) .service-top svg{color:#1457d8;border:1px solid #19a3f35c;background:#fff;border-radius:50%;box-shadow:none}#services .service-top>span,#services .service:nth-child(2) .service-top>span,#services .service:nth-child(6) .service-top>span{color:#19a3f34a;font-family:Montserrat,sans-serif;font-weight:700}#services .service-top:after{background:var(--brand-primary);width:60px}#services .service p{color:var(--muted)}#services .service>a{background:#fff;color:var(--blue);border-color:#c5def5;border-radius:12px 4px 12px 4px}.service-tags li{background:var(--paper);color:#555;border:0}.service:hover,#services .service:hover,#services .service:focus-within{border-color:var(--brand-primary);box-shadow:0 12px 28px #1457d810;transform:translateY(-3px)}
.shop-section{background:#f2f4f7}.gallery img,.about-story img,.work-item>img,.photo-card{border-radius:28px 8px 28px 8px}.gallery figure:last-child{padding-top:30px}.brief-card{background:linear-gradient(135deg,#fff,#19a3f310);border-color:#b9ddf7;border-radius:24px 6px 24px 6px}.process-list li>span{color:#1457d8;background:#19a3f315;border-radius:50%;min-width:44px;text-align:center}.compact-cta{background:linear-gradient(110deg,#19a3f314,#f2f4f7);border:1px solid #19a3f330;border-radius:32px 8px 32px 8px}.values article{border-top:3px solid var(--brand-primary);border-radius:20px 6px 20px 6px}.photo-full{background:#f2f4f7}.collection-nav a{color:#1457d8}.collection-nav a span{background:#19a3f315}
.contact{background:linear-gradient(115deg,#1457d8 30%,#087bbb 100%);position:relative;isolation:isolate;overflow:hidden}.contact:before{content:'';position:absolute;top:25px;right:25px;width:115px;height:115px;background:radial-gradient(circle,#ffffff65 2px,transparent 3px) 0 0/20px 20px;z-index:-1}.contact .eyebrow,.contact-grid>div>p:not(.eyebrow),.contact-note{color:#fff}.contact-details{border-radius:32px 8px 32px 8px;box-shadow:none}.contact .white{color:#1457d8;background:#fff}footer strong{font-family:Montserrat,sans-serif;color:#1457d8}.footer-links{border-bottom:2px solid #19a3f335}.whatsapp-float:focus-visible,a:focus-visible,.banner-carousel button:focus-visible{outline:3px solid #1457d8;outline-offset:4px}
/* Three editorial banners: live bilingual copy and original shop imagery. */
.banner-carousel{background:#fff;border:1px solid #dbe7f1;border-radius:40px 10px 40px 10px}.banner-slide{min-height:580px;background:#fff;overflow:hidden}.banner-image{width:47%;inset:24px 24px 24px auto;height:calc(100% - 48px);border-radius:80px 8px 80px 8px;z-index:0;object-position:center}.banner-shade{inset:0 0 0 auto;width:49%;background:linear-gradient(140deg,#19a3f3,#1457d8);z-index:-1}.banner-content{width:53%;padding:42px 38px 48px 48px;position:relative;z-index:2}.banner-signature{font-size:.875rem;color:#666;margin-bottom:40px;font-weight:500;letter-spacing:.02em}.banner-signature span{color:#19a3f3;padding:0 6px}.banner-content>.eyebrow{font-size:.875rem;letter-spacing:.06em;line-height:1.6;margin-bottom:18px;color:#1457d8}.banner-content h1,.banner-content h2{color:#111;font-size:clamp(2.6rem,3.8vw,4rem);line-height:1.16;letter-spacing:-.045em;font-weight:700}.banner-content>p:not(.eyebrow){color:#666;font-size:1rem;line-height:1.9;max-width:445px;margin-top:24px}.banner-content .actions{gap:22px;margin-top:30px}.banner-content .button{font-size:.94rem;padding-inline:20px}.banner-motif{position:absolute;left:33%;bottom:-50px;font:400 220px/1 Montserrat,sans-serif;color:transparent;-webkit-text-stroke:1px #19a3f32a;pointer-events:none;z-index:1}.banner-caption{position:absolute;right:45px;bottom:46px;max-width:40%;background:#fff;color:#1457d8;padding:13px 18px;border-radius:16px 4px 16px 4px;z-index:2;font-size:.875rem;font-weight:600;box-shadow:0 3px 12px #1111}.banner-caption span{padding-right:15px;margin-right:15px;border-right:1px solid #19a3f3;color:#666}.banner-controls{padding:13px 28px;border-color:#dce5ee;background:#fff}.banner-dots button[aria-pressed=true] span{background:#1457d8}.banner-buttons button{color:#1457d8;border-color:#b8d9f3}.banner-buttons button:hover{background:#19a3f318}.banner-counter{color:#666}.banner-2 .banner-image{object-position:50% 55%}.banner-3 .banner-image{object-position:54% center}html[lang=zh-Hans] .banner-content h1,html[lang=zh-Hans] .banner-content h2{font-size:clamp(2.3rem,3.3vw,3.5rem);line-height:1.4;font-weight:500;letter-spacing:0}
@media(max-width:1100px){.banner-content{padding:32px;width:55%}.banner-image{width:43%}.banner-shade{width:45%}.banner-content h1,.banner-content h2{font-size:2.8rem}.banner-signature{margin-bottom:28px}.banner-content .actions{gap:14px}.banner-slide{min-height:570px}.banner-caption{max-width:38%}nav{gap:16px;font-size:.875rem}}
@media(max-width:760px){.page-lead{padding-inline:0;border-radius:0 0 30px 0;background:#fff}.page-lead:after{opacity:.4}.brand small{font-size:.625rem}nav{gap:7px;font-size:.875rem}.banner-carousel{border-radius:26px 7px 26px 7px}.banner-slide{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-bottom:20px}.banner-content{width:100%;padding:30px 24px 28px;order:-1}.banner-signature{margin-bottom:25px;font-size:.875rem}.banner-content>.eyebrow{font-size:.875rem;margin-bottom:16px}.banner-content h1,.banner-content h2{font-size:clamp(2.15rem,7.8vw,3rem)}html[lang=zh-Hans] .banner-content h1,html[lang=zh-Hans] .banner-content h2{font-size:clamp(2rem,7.4vw,2.8rem)}.banner-content>p:not(.eyebrow){margin-top:20px}.banner-content .actions{margin-top:24px}.banner-image{position:relative;inset:auto;width:calc(100% - 40px);height:280px;margin:0 20px;border-radius:44px 6px 44px 6px}.banner-shade{inset:auto 0 0;width:100%;height:240px}.banner-motif{left:auto;right:12px;bottom:280px;font-size:160px}.banner-caption{right:34px;bottom:36px;max-width:calc(100% - 68px);font-size:.8125rem;padding:10px 12px}.banner-controls{padding:10px 13px}.banner-counter{font-size:.8125rem}.gallery figure:last-child{padding-top:0}.compact-cta h2{font-size:1.9rem}.contact-details{border-radius:24px 6px 24px 6px}}
@media(prefers-reduced-motion:reduce){.service:hover,#services .service:hover,#services .service:focus-within{transform:none}}

/* Keep the new wide photographs focused on their printed products. */
.banner-1 .banner-image{object-position:74% center}.banner-2 .banner-image{object-position:72% center}
