
[hidden]{display:none!important}.hero{background:none;max-height:none;padding-top:0}.hero-desktop-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:top right;pointer-events:none}.hero__stage{z-index:1}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}.portfolio-card h3{font-size:21px;line-height:1.7;margin:12px 0}.portfolio-card>p:last-child{font-size:15px;color:var(--muted)}.portfolio-card .eyebrow{margin-top:24px;margin-bottom:8px}.work-image-await{aspect-ratio:4/3;background:var(--soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;color:var(--muted)}.work-image-await span{font-size:19px}.work-image-await small{font-size:13px}.more-works{display:flex;justify-content:center;margin-top:56px}.compact-services{background:var(--soft)}.compact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.compact-grid h3{font-size:20px;line-height:1.7;margin-bottom:16px}.compact-grid p{font-size:14px}.work-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.work-filters button{min-height:44px;border:1px solid var(--line);padding:10px 20px;color:var(--ink);background:white;border-radius:24px;cursor:pointer}.work-filters button[aria-pressed=true]{background:var(--ink);color:white}.filter-status{margin-bottom:32px;color:var(--muted)}
@media(max-width:1040px){.hero{padding-top:105px}.hero-desktop-art{display:none}.hero-mobile{height:auto;aspect-ratio:1672/941;object-fit:contain;object-position:center;margin:20px 0 0}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.portfolio-grid,.compact-grid{grid-template-columns:1fr}.portfolio-card h3{font-size:22px}.portfolio-grid{gap:40px}.hero-mobile{height:auto;aspect-ratio:1672/941;object-fit:contain;object-position:center}.compact-grid{gap:24px}.compact-grid article{border-bottom:1px solid var(--line);padding-bottom:20px}}

h1[tabindex='-1']:focus{outline:none}

.work-image-link{display:flex;width:100%;aspect-ratio:4/3;background:var(--soft);align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line)}.work-image-link img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.work-image-link:hover img{transform:scale(1.025)}.work-tools{font-size:13px!important}.hero__copy{text-align:left;transform:none;translate:none;margin:0}.hero h1{padding:0;text-indent:0;text-align:left;transform:none;word-break:normal;overflow-wrap:normal}.hero h1>span{margin:0;padding:0;transform:none}.hero h1 .mobile-phrase{margin:0;padding:0;transform:none}
@media(min-width:1041px){.hero__copy{left:5%;top:22.5%;width:58%;padding:0}.hero h1{font-size:3.45vw;line-height:1.5;letter-spacing:0}.hero h1>span{display:block;white-space:nowrap}.hero h1 .mobile-phrase{display:inline}}
@media(max-width:1040px){.hero__copy{left:auto;top:auto;width:100%;box-sizing:border-box;padding:18px 6vw 0}.hero h1>span{display:block}.hero h1 .mobile-phrase{display:inline}}
@media(max-width:600px){.hero h1 .mobile-phrase{display:block}.hero h1{font-size:clamp(24px,6.9vw,32px);line-height:1.6}.hero__copy{padding:6px 6vw 0}}

/* v5: headline, alternating work rows, one FAQ indicator */
.hero__copy{width:48%}.hero h1{font-size:3.7vw;line-height:1.55}.hero__lead{font-size:clamp(15px,1.18vw,18px);line-height:2;max-width:470px;margin:26px 0 32px;letter-spacing:.02em}.hero__lead:before{content:'';display:block;width:48px;height:2px;background:var(--ink);margin-bottom:28px}
.portfolio-grid{display:block}.portfolio-card{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;border-top:1px solid var(--line);padding:42px 0}.portfolio-card .work-image-link{grid-column:2;grid-row:1}.portfolio-card .work-description{grid-column:1;grid-row:1}.portfolio-card.image-left .work-image-link{grid-column:1}.portfolio-card.image-left .work-description{grid-column:2}.portfolio-card .eyebrow{margin-top:0}.work-points{padding-left:20px;margin-top:18px;font-size:14px;line-height:1.9;list-style-type:square}.work-points li{padding:2px 0}
.faq-list summary{position:relative;display:block;padding:22px 60px 22px 0;list-style:none}.faq-list summary>span{display:none}.faq-list summary::marker{content:''}.faq-list summary::before{content:none!important}.faq-list summary::after{content:'＋';position:absolute;right:4px;top:50%;width:44px;height:44px;display:grid;place-items:center;font-size:26px;line-height:1;color:var(--ink);margin:0;transform:translateY(-50%);transition:none}.faq-list details[open] summary::after{content:'×';transform:translateY(-50%)}
@media(max-width:1040px){.hero__copy{width:100%}.hero h1{font-size:clamp(30px,4.3vw,42px)}.hero__lead{font-size:16px;max-width:560px}.portfolio-card{gap:28px}}
@media(max-width:600px){.hero h1{font-size:clamp(27px,7.2vw,34px)}.hero__lead{font-size:15px;margin:22px 0 26px}.hero__lead:before{margin-bottom:20px}.portfolio-card{grid-template-columns:1fr;gap:24px;padding:30px 0}.portfolio-card .work-image-link,.portfolio-card.image-left .work-image-link{grid-column:1;grid-row:1}.portfolio-card .work-description,.portfolio-card.image-left .work-description{grid-column:1;grid-row:2}.work-points{font-size:13px}}

/* v6 compact top gallery */
[data-gallery="home"] .portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}
[data-gallery="home"] .portfolio-card{display:flex;flex-direction:column;align-items:stretch;gap:0;border:0;padding:0;min-width:0}
[data-gallery="home"] .work-image-link{aspect-ratio:4/3}
[data-gallery="home"] .work-description{padding:20px 0 0;display:flex;flex-direction:column;flex:1}
[data-gallery="home"] .portfolio-card h3{font-size:18px;line-height:1.7;margin:10px 0 18px}
[data-gallery="home"] .eyebrow{font-size:11px;margin:0}
.work-detail-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:140px;padding:10px 4px;border:0;border-bottom:1px solid #a7b8c9;background:transparent;color:var(--ink);font:inherit;font-size:14px;letter-spacing:.05em;margin-top:auto;text-align:left;cursor:default;opacity:1}
.compact-grid{gap:0}.compact-grid article{padding:8px 28px;border-right:1px solid #b9c8d5}.compact-grid article:first-child{padding-left:0}.compact-grid article:last-child{border-right:0}
.faq-item{border-bottom:1px solid var(--line)}.faq-question{position:relative;display:block;width:100%;padding:22px 58px 16px 0;border:0;text-align:left;background:transparent;color:var(--ink);font-family:var(--font-body);font-size:16px;font-weight:500;line-height:1.8;cursor:pointer;box-sizing:border-box}.faq-symbol{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;font-size:26px;font-weight:400;line-height:1}.faq-answer{padding:0 58px 22px 0;box-sizing:border-box}.faq-answer p{margin:0;font-size:15px;line-height:2;color:var(--muted)}.faq-answer[aria-hidden="true"]{visibility:hidden}.faq-answer[aria-hidden="false"]{visibility:visible}
@media(max-width:1040px){[data-gallery="home"] .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-grid article{padding:22px}.compact-grid article:first-child{padding-left:22px}.compact-grid article:nth-child(2){border-right:0}.compact-grid article:nth-child(-n+2){border-bottom:1px solid #b9c8d5}}
@media(max-width:600px){[data-gallery="home"] .portfolio-grid{grid-template-columns:1fr;gap:32px}[data-gallery="home"] .portfolio-card h3{font-size:20px}.compact-grid article,.compact-grid article:first-child{padding:24px 0;border-right:0;border-bottom:1px solid #b9c8d5}.compact-grid article:last-child{border-bottom:0}.faq-question{font-size:14px}.faq-answer p{font-size:14px}.faq-answer{padding-right:12px}}

/* v7 reference English lettering: approximate match, not font identification */
:root{--font-en:Arial,Helvetica,sans-serif}.english-label,.hero-kicker{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:.30em}.english-label{font-size:12px}.hero-kicker{font-size:clamp(10px,1.05vw,14px)}

/* v8 compact accordion, fixed header, unified CTA */
body{padding-top:88px}.site-header,.lower-page .site-header{position:fixed;top:0;left:0;width:100%;height:88px;box-sizing:border-box;z-index:100;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.section{scroll-margin-top:104px}.hero{scroll-margin-top:88px}.nav-overlay{z-index:110}.nav-toggle{z-index:120}
.faq-answer[aria-hidden="true"]{display:none}.faq-answer[aria-hidden="false"]{display:block}.faq-question{font-size:16px;font-weight:400;line-height:1.8;padding-top:22px;padding-bottom:22px}.faq-answer p{font-size:16px;font-weight:400;line-height:1.8}.faq-answer{padding-bottom:24px}
.cw-btn,.hero .cw-btn,.work-detail-button,.text-link{font-weight:400;letter-spacing:.08em}.cw-btn,.cw-btn--outline{background:white;color:var(--ink);border:1px solid var(--ink)}.cw-btn:hover,.cw-btn--outline:hover{background:#f1f5f9;color:var(--ink)}.consult-link,.cw-btn.consult-link{background:var(--ink);color:white;border:1px solid var(--ink);font-weight:400}.consult-link:hover,.cw-btn.consult-link:hover{background:#1e4873;color:white}.nav a.consult-link{padding:0 20px;min-height:44px;border-radius:2px;font-weight:400}.nav-overlay .consult-link{padding:14px 24px}
.english-label,.hero-kicker{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:.3em}.simple-footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:36px 8%;background:#103d77;color:white}.simple-footer .logo-window{width:140px;height:52px;filter:brightness(0) invert(1)}.simple-footer p{margin:0;color:white;font-size:14px;font-weight:400}.simple-footer .copyright{padding:0;border:0;margin:0;color:white;font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.22em}.simple-footer .brand{flex-shrink:0}
@media(max-width:1040px){body{padding-top:80px}.site-header,.lower-page .site-header{height:80px}.hero{padding-top:20px}.simple-footer{gap:24px;padding:32px 6%}.simple-footer p{font-size:12px}}
@media(max-width:600px){.simple-footer{flex-direction:column;text-align:center;gap:18px}.simple-footer .copyright{font-size:10px}.faq-question,.faq-answer p{font-size:14px}.hero{padding-top:14px}}

/* v9 explicit layout and interaction contracts */
:root{--font-en:'Josefin Sans',sans-serif}.english-label,.hero-kicker,.simple-footer .copyright{font-family:'Josefin Sans',sans-serif;font-weight:400;letter-spacing:.24em}
.faq-section{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.faq-list{width:100%;max-width:none;min-width:0;justify-self:stretch;margin:0;box-sizing:border-box}.faq-item,.faq-question,.faq-answer{width:100%;min-width:0;box-sizing:border-box}.faq-question,.faq-answer p{overflow-wrap:anywhere}
.site-header .nav a.consult-link,.nav-overlay a.consult-link,a.cw-btn.consult-link{background:#0b2e54!important;color:#fff!important;border-color:#0b2e54;font-weight:400;transition:background .25s,color .25s,transform .25s}.site-header .nav a.consult-link:hover,.nav-overlay a.consult-link:hover,a.cw-btn.consult-link:hover{background:#f8c61d!important;color:#0b2e54!important;border-color:#f8c61d;transform:translateY(-2px)}.site-header .nav a.consult-link::after{display:none}.cw-btn span{color:inherit}
.hero{overflow:hidden;padding-top:0;margin-top:0}.hero-desktop-art{top:-8%;height:110%;object-fit:cover;object-position:center top}.hero__actions{gap:16px}.hero__lead{margin-bottom:26px}.hero__copy{top:19%}
.simple-footer .logo-window{filter:none;background-image:url('assets/logo-white.png');background-position:center 53%}.simple-footer{display:grid;grid-template-columns:1fr 2fr 1fr}.simple-footer>p{text-align:center}.simple-footer .copyright{text-align:right}.simple-footer .brand{justify-self:start}
[data-gallery="home"] .marketing-case{background:var(--soft);padding:28px;border:1px solid var(--line);justify-content:center;min-height:250px}[data-gallery="home"] .marketing-case .work-description{padding:0}.marketing-case .work-description>p:not(.eyebrow){font-size:15px;line-height:1.9;margin:0 0 24px}.marketing-case .work-description{grid-column:1/-1}.marketing-case .work-detail-button{margin-top:24px}
@media(max-width:1040px){.faq-section{grid-template-columns:1fr}.hero__copy{top:auto}.hero{padding-top:0}.hero__copy{padding-top:24px}.simple-footer{grid-template-columns:1fr}.simple-footer .brand{justify-self:center}.simple-footer .copyright{text-align:center}}
@media(max-width:600px){.hero__actions{gap:12px}.hero__copy{padding-top:20px}}

@media(min-width:1041px){.simple-footer .copyright{grid-column:3;grid-row:1}.simple-footer>.brand{grid-column:1;grid-row:1}.simple-footer>p:not(.copyright){grid-column:2;grid-row:1}}

[data-gallery="home"] .marketing-case,.marketing-case{background:#fff}
