/* CTT Designer Pass — hierarchy, restraint, motion */
:root{--dp-ink:#071b28;--dp-paper:#f7f8f8;--dp-accent:#1aa6b7;--dp-line:rgba(7,27,40,.16);--dp-ease:cubic-bezier(.22,1,.36,1)}
html{overflow-x:clip;scroll-behavior:smooth}
body{overflow-x:clip;background:var(--dp-paper);text-rendering:optimizeLegibility;opacity:1;transition:opacity .45s var(--dp-ease)}
body.dp-ready{opacity:1}
body.dp-leaving{opacity:0;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease}
.site-header{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-header .desktop-nav a{position:relative}
.site-header .desktop-nav a:after{content:"";height:1px;background:currentColor;position:absolute;left:0;right:100%;bottom:-7px;transition:right .35s var(--dp-ease)}
.site-header .desktop-nav a:hover:after,.site-header .desktop-nav a[aria-current="page"]:after{right:0}
.primary-cta,.header-cta,.outline-cta,.secondary-form-cta,.c2-hero-center>a,.c2-hero-bottom>a,.c3-actions>a,.contact-submit{border-radius:0!important;box-shadow:none!important;transition:transform .28s var(--dp-ease),background-color .28s ease,color .28s ease,border-color .28s ease!important;transform:translate3d(var(--mag-x,0),var(--mag-y,0),0)}
.primary-cta:hover,.header-cta:hover,.c2-hero-center>a:hover,.c3-actions>a:hover{transform:translate3d(var(--mag-x,0),calc(var(--mag-y,0) - 3px),0)}
.dp-pressed{transform:translate3d(var(--mag-x,0),var(--mag-y,0),0) scale(.965)!important}
.dp-activated{animation:dp-spring .42s var(--dp-ease)}
@keyframes dp-spring{0%{transform:scale(.97)}55%{transform:scale(1.025)}100%{transform:scale(1)}}
.hero,.c2-hero,.c3-hero{min-height:min(900px,100svh)}
.hero:before,.hero:after{background-image:none!important}
.hero-copy,.c2-hero-center,.c3-hero-copy{max-width:760px}
.hero-lead,.c2-hero-center>span,.c3-hero-copy>p:not(.c3-eyebrow){max-width:63ch!important;font-size:clamp(1.05rem,1.5vw,1.35rem)!important;line-height:1.55!important}
.hero h1,.c2-hero h1,.c3-hero h1{max-width:14ch!important;text-wrap:balance}
.hero-actions,.c3-actions{gap:1rem 1.5rem;flex-wrap:wrap}
.hero img,.c2-hero img,.c3-hero img,.inner-hero-bg img{transform:translate3d(0,var(--parallax-y,0),0) scale(1.035);will-change:transform}
:is(.product-card,.image-card,.portfolio-tile,.work,.values-grid article,.capability-card,.booth-card){border-radius:0!important;box-shadow:none!important}
:is(.product-card,.capability-card,.booth-card){background:transparent!important;border:0!important;border-top:1px solid var(--dp-line)!important}
:is(.product-card,.image-card,.portfolio-tile,.work,.values-grid article) img{transition:transform .8s var(--dp-ease),filter .5s ease!important}
:is(.product-card,.image-card,.portfolio-tile,.work,.values-grid article):hover img{transform:scale(1.045)!important}
.values-grid.visual-values{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:0!important;border-top:1px solid var(--dp-line)}
.values-grid.visual-values article{grid-column:span 6;display:grid!important;grid-template-columns:minmax(180px,42%) 1fr!important;min-height:340px;border-top:0!important;border-bottom:1px solid var(--dp-line)!important;border-right:1px solid var(--dp-line)!important;background:transparent!important;overflow:hidden}
.values-grid.visual-values article:nth-child(1),.values-grid.visual-values article:nth-child(5){grid-column:span 12}
.values-grid.visual-values article:nth-child(1){grid-template-columns:minmax(280px,58%) 1fr!important;min-height:440px}
.values-grid.visual-values article:nth-child(5){grid-template-columns:1fr minmax(280px,58%)!important}
.values-grid.visual-values article:nth-child(5) .value-visual{order:2}
.values-grid.visual-values .value-visual{height:auto!important;min-height:280px;overflow:hidden;position:relative}
.values-grid.visual-values .value-visual:after{content:"";position:absolute;inset:0;border:0;background:rgba(4,22,31,.08);pointer-events:none}
.values-grid.visual-values .value-visual img{width:100%;height:100%;object-fit:cover}
.values-grid.visual-values .value-visual span{border-radius:0!important;background:var(--dp-paper)!important;color:var(--dp-ink)!important;border:1px solid var(--dp-line);width:44px;height:44px;display:grid;place-items:center;position:absolute;top:18px;left:18px;z-index:2}
.values-grid.visual-values .value-content{padding:clamp(1.5rem,4vw,3.5rem)!important;display:flex;flex-direction:column;justify-content:flex-end}
.values-grid.visual-values h3{font-size:clamp(1.65rem,2.5vw,2.6rem)!important;line-height:1.1!important;letter-spacing:-.035em!important;margin:0 0 1rem!important}
.values-grid.visual-values p{font-size:1rem!important;line-height:1.75!important;max-width:42ch}
.dp-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--dp-ease),transform .8s var(--dp-ease)}
.dp-reveal.dp-in{opacity:1;transform:none}
.dp-reveal:nth-child(2){transition-delay:.06s}.dp-reveal:nth-child(3){transition-delay:.12s}
h1,h2,h3{text-wrap:balance}
.dp-text-shift{transition:letter-spacing .35s var(--dp-ease),transform .35s var(--dp-ease)}
.dp-text-shift:hover{letter-spacing:-.02em;transform:translateX(4px)}
@media(max-width:820px){.hero,.c2-hero,.c3-hero{min-height:auto}.values-grid.visual-values{grid-template-columns:1fr!important}.values-grid.visual-values article,.values-grid.visual-values article:nth-child(1),.values-grid.visual-values article:nth-child(5){grid-column:auto!important;grid-template-columns:1fr!important;min-height:0}.values-grid.visual-values article:nth-child(5) .value-visual{order:0}.values-grid.visual-values .value-visual{min-height:260px}.values-grid.visual-values .value-content{min-height:230px}.hero h1,.c2-hero h1,.c3-hero h1{max-width:16ch!important}.primary-cta,.c3-actions>a,.c2-hero-center>a{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.dp-reveal{opacity:1;transform:none}.hero img,.c2-hero img,.c3-hero img,.inner-hero-bg img{transform:none!important}}

/* Compact controls and consistent image rhythm */
.primary-cta,.header-cta,.outline-cta,.secondary-form-cta,.contact-submit,.mobile-wa,.c2-hero-center>a,.c2-hero-bottom>a,.c2-end a,.c3-actions>a,.c3-contact>a,.about-cta .primary-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.55rem!important;min-height:48px;padding:.82rem 1.35rem!important;border-radius:12px!important;text-align:center!important;line-height:1.2!important;font-weight:650!important;letter-spacing:-.01em;white-space:nowrap}
.header-cta{min-height:42px;padding:.68rem 1.1rem!important;border-radius:10px!important}
.primary-cta svg,.header-cta svg,.outline-cta svg,.secondary-form-cta svg,.contact-submit svg,.mobile-wa svg,.c2-hero-center>a svg,.c2-hero-bottom>a svg,.c2-end a svg,.c3-actions>a svg,.c3-contact>a svg{width:18px!important;height:18px!important;flex:0 0 18px}
.values-grid.visual-values{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important;border-top:0!important}
.values-grid.visual-values article,.values-grid.visual-values article:nth-child(1),.values-grid.visual-values article:nth-child(5){grid-column:auto!important;grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;min-height:0!important;border:1px solid var(--dp-line)!important}
.values-grid.visual-values article:nth-child(5) .value-visual{order:0!important}
.values-grid.visual-values .value-visual{width:100%;height:auto!important;min-height:0!important;aspect-ratio:4/3;overflow:hidden}
.values-grid.visual-values .value-content{min-height:230px;padding:1.45rem!important;justify-content:flex-start!important}
.values-grid.visual-values h3{font-size:clamp(1.35rem,1.55vw,1.8rem)!important;margin-bottom:.75rem!important}
.values-grid.visual-values p{font-size:.96rem!important;line-height:1.6!important}
:is(.product-image,.portfolio-tile,.c2-category,.c2-gallery-grid>img,.c3-material-photo,.work){aspect-ratio:4/3!important;overflow:hidden}
:is(.product-image,.portfolio-tile,.c2-category,.c3-material-photo,.work) img,.c2-gallery-grid>img{width:100%!important;height:100%!important;object-fit:cover!important}
@media(max-width:1180px){.values-grid.visual-values{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.values-grid.visual-values{grid-template-columns:repeat(2,minmax(0,1fr))!important}.values-grid.visual-values .value-content{min-height:210px}.primary-cta,.c2-hero-center>a,.c3-actions>a{white-space:normal}}
@media(max-width:520px){.values-grid.visual-values{grid-template-columns:1fr!important}.values-grid.visual-values .value-content{min-height:0}.values-grid.visual-values .value-visual{aspect-ratio:16/10}}
/* CTT production visual system: precise, luminous, product-led */
:root{--dp-paper:#f5f5f7;--dp-ink:#111114;--dp-accent:#0071e3;--dp-line:rgba(17,17,20,.15)}
body{background:#f5f5f7}.c3-hero{background:#fff!important}.c3-hero-copy{padding-left:clamp(1.25rem,5vw,5rem)}
.c3-actions>a:first-child{background:#0071e3!important;color:#fff!important;border:1px solid #0071e3!important}.c3-actions>a:last-child{background:transparent!important;color:#111!important;border:1px solid rgba(17,17,20,.3)!important}
.c3-section,.c3-products,.c3-process{background-image:none!important}.values-grid.visual-values article{background:#fff!important}.values-grid.visual-values .value-content{background:#fff}
.c3-eyebrow,.section-kicker{color:#0067c8!important}
.mission-card .section-kicker,.mission-card .section-kicker.aqua{color:#f8fbfa!important;opacity:1!important}
.mission-card>span{color:#c8eeee!important;opacity:1!important}

/* Keep the commitment section balanced on wide screens while matching text and image height. */
.mission-grid{min-height:clamp(620px,55vw,760px)}
.mission-image{min-height:100%}
@media(max-width:760px){.mission-image{min-height:520px}}
