/* Optics: a shared vocabulary of edges, clear surfaces and focused actions. */
:root{--action:#171c24;--surface:#fafbf9;--focus:#2455f4;--edge:#bcc9d5}
[hidden]{display:none!important}a,button,summary{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:5px}
/* The action is one ice-like surface; the arrow has no separate tile. */
.cta,.contact-actions .cta,.direct-contacts .cta,body[data-mode=site] .hero-cta,.project-brief .brief-actions>.cta{
  --ice-button:linear-gradient(112deg,#fdfefe 0%,#edf5fb 48%,#dceaf5 49%,#f7fbfd 72%,#e5f0f8 100%);
  border:1px solid;border-color:#9ab1c7 #758fa9 #54718f #c0d1e2;border-radius:2px;
  background:var(--ice-button);color:#172e46;padding:15px 22px;min-height:56px;gap:30px;
  font-size:13px;line-height:1.4;font-weight:600;text-decoration:none;position:relative;
  isolation:isolate;overflow:hidden;box-shadow:inset 0 1px 0 #fff,0 2px 0 #b4c9db,0 7px 16px #183c5d13;
  transition:border-color .2s,box-shadow .2s,color .2s;
}
.cta>span,.contact-actions .cta>span,body[data-mode=site] .hero-cta>span,.project-brief .brief-actions>.cta>span{
  display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;
  background:none;border:0;border-radius:0;box-shadow:none;color:#244e77;font-size:23px;font-weight:400;line-height:1;
  transition:transform .22s,color .22s;
}
.cta:before{content:'';position:absolute;inset:2px;border:1px solid;border-color:#fff #ffffffb0 #9dbbd077 #ffffffc0;border-radius:1px;pointer-events:none}
.cta:after{content:'';position:absolute;top:-80%;bottom:-80%;left:-40%;width:35%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-24deg);translate:0 0;pointer-events:none;transition:translate .55s ease}
.cta:hover,.contact-actions .cta:hover,.project-brief .brief-actions>.cta:hover,body[data-mode=site] .hero-cta:hover{background:var(--ice-button);color:#0d2946;border-color:#91acc5 #527493 #345779 #b3cbe1;box-shadow:inset 0 1px 0 #fff,0 2px 0 #93b2cf,0 9px 22px #183c5d20}
.cta:hover>span,.project-brief .brief-actions>.cta:hover>span,body[data-mode=site] .hero-cta:hover>span{background:none;color:#0c427a;transform:translateX(3px)}
.cta:hover:after{translate:430% 0}
.cta:active,.project-brief .brief-actions>.cta:active,body[data-mode=site] .hero-cta:active{background:linear-gradient(115deg,#dce8f2,#f3f8fc 65%,#dceaf5);box-shadow:inset 0 1px 3px #43678326,0 1px 0 #9db7ce}
.text-link{gap:16px;font-size:13px}.text-link>span,.service-arrow,.guide-arrow{transition:translate .18s ease}.text-link:hover>span{translate:3px 0}
.content-header .nav-link{position:relative;color:#3b4651}.content-header .nav-link[aria-current]{color:var(--focus)}.content-header .nav-link[aria-current]:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:currentColor;transform:none}.languages a[aria-current]{color:var(--focus)}.interior .content-header{border-bottom:1px solid var(--editorial-rule);padding-bottom:14px}
.editorial-list li{padding-left:19px}.editorial-list li:before{content:'';width:5px;height:1px;background:#627993;top:29px;left:0}
.editorial-service{transition:background .2s;position:relative;isolation:isolate}.editorial-service:before{content:'';position:absolute;inset:0 -18px;background:linear-gradient(100deg,#d8e5ef55,transparent);opacity:0;transition:opacity .2s;pointer-events:none;z-index:-1}.editorial-service:hover:before,.editorial-service:focus-visible:before{opacity:1}.editorial-service:hover .service-arrow{transform:none;translate:3px 0}.service-number{padding-top:0;font-size:15px;letter-spacing:-.06em}.service-teaser>span{display:inline-block;border-bottom:1px solid #b5c2d2;padding-bottom:4px}
.developer-strip:after{border-color:#a7c5e04d;background:linear-gradient(90deg,transparent,#aac6e012 52%,#fff1 53%,transparent 54%)}.editorial-steps li>span{font-size:13px}.editorial-steps h3{margin-top:26px}
.guide-list{gap:24px}.guide-list>a{border-top:0;padding:25px 25px 22px;background:#f8fafb;border:1px solid #cbd5df;min-height:310px;position:relative;transition:border-color .2s,background .2s}.guide-list>a:hover{border-color:#829dbc;background:#fff}.guide-folio{width:100%;display:flex;align-items:center;gap:18px;margin-bottom:45px;font:10px/1 monospace;color:#637b98}.guide-folio>span:first-child{font-size:27px;color:#31517d;letter-spacing:-.08em}.folio-line{flex:1;height:1px;background:linear-gradient(90deg,#94abc5,transparent)}.guide-list .service-tag{font-size:10px;color:#53677d}.guide-list h3{font-size:clamp(23px,2.25vw,33px);margin:10px 0 34px}.guide-read{margin-top:auto;width:100%;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#475e7c}.guide-arrow{font-size:23px;margin:0}.guide-list>a:hover .guide-arrow{translate:3px 0}
.faq-list summary>span,.brief-extra summary>span,.brief-preview summary>span{display:grid;place-items:center;width:26px;height:26px;flex:none;border:1px solid #b7c7d8;border-radius:2px;font-size:20px;color:#3159cd;line-height:1}.faq-list details[open] summary>span{transform:none;background:#e5edf7;border-color:#a1b7d4;font-size:0}.faq-list details[open] summary>span:before{content:'−';font-size:20px}.faq-list details[open] summary{color:#204ac8}.faq-list details>p{max-width:640px;font-size:15px}
.project-contact{position:relative;background:linear-gradient(110deg,#e9eff4,#f4f7f8 66%,#d7e5f1);border-top:1px solid #c3d1df;overflow:hidden}.project-contact:after{content:'';position:absolute;top:-50%;bottom:-50%;width:12%;right:10%;border-inline:1px solid #fff9;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:rotate(18deg);pointer-events:none}.project-contact>*{position:relative;z-index:1}.project-contact h2{font-size:clamp(40px,5.5vw,82px);letter-spacing:-.055em}.contact-grid{gap:65px;align-items:center}.contact-actions{justify-self:end;gap:22px;max-width:380px}.contact-shortcuts{display:flex;gap:28px;font-size:13px}.contact-shortcuts a{padding-block:8px;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #a8bacb}.contact-shortcuts a:hover{color:var(--focus);border-color:var(--focus)}.contact-actions>p{font-size:12px!important;line-height:1.6}.footer-primary{padding-top:15px}.footer-nav a:hover,.footer-social a:hover{color:var(--focus)}
/* Each service has its own drawing, with the same optical material. */
.workflow-art.optical-art{margin:0;padding:20px 22px 18px;border:1px solid #b6c9dc;background:linear-gradient(142deg,#fff 12%,#edf3f8 80%,#d9e6f3);box-shadow:0 2px 0 #fff inset,0 15px 36px #18385208;overflow:hidden}.optical-art .workflow-top{font-size:10px;align-items:center}.optical-art .workflow-top>span:last-child{font-size:18px}.optic-diagram{display:block;width:100%;height:auto;margin-block:8px 2px;overflow:visible}.art-mainplane,.art-backplane,.art-patch{transform-box:fill-box;transform-origin:center;transition:transform .4s ease}.optical-art:hover .art-backplane{transform:translate(2px,-3px)}.optical-art:hover .art-patch{transform:translate(3px,-2px)}.art-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:16px;padding:18px 0 0;margin:0;border-top:1px solid #c5d3e1}.art-legend li{font-size:12px;line-height:1.5;letter-spacing:-.02em}.art-legend li>span{display:block;font:9px/1.3 monospace;color:#557699;margin-bottom:8px}.optical-art figcaption{font-size:9px;color:#5b6f87;line-height:1.5;margin-top:24px}
.deliverable-panel{border:1px solid #c6d2dd;background:linear-gradient(140deg,#f7fafb,#e7eef4);position:relative}.deliverable-panel:before{content:'';position:absolute;top:-1px;left:32px;width:52px;height:2px;background:var(--focus)}.example-list article{border-top-color:#bccbd9;padding-top:28px}.work-stages li{position:relative}.work-stages li>span{font-size:14px}.prepare-note{background:#f7f9fb;border-left:2px solid var(--focus);padding:22px 25px}
.article-opening{padding-bottom:45px}.article-meta{border-top:1px solid var(--editorial-rule);padding-top:19px;max-width:730px}.article-toc a{border-left:1px solid #bdcbd9;padding:6px 0 6px 16px;line-height:1.6}.article-toc a[aria-current]{border-left:2px solid var(--focus);color:var(--focus);padding-left:15px}.article-copy p{font-size:17px;line-height:1.85}.identity-mark{position:relative;isolation:isolate;background:linear-gradient(132deg,#f6fafc,#dce7f2);border:1px solid #b9cddd;box-shadow:inset 0 0 0 7px #ffffff50}.identity-mark:after{content:'';position:absolute;inset:-15% 29% -15% 52%;background:linear-gradient(90deg,#fff0,#fff9,#b7d5f026);border-inline:1px solid #ffffffb0;transform:rotate(-16deg);pointer-events:none}.identity-mark small{font-size:9px;letter-spacing:.13em}
/* Contact is a small writing tool, not a wall of prefilled text. */
.contact-intro{padding-bottom:45px}.contact-page-grid{grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.direct-contacts{gap:0;padding-top:27px}.direct-contacts>.eyebrow{margin-bottom:26px}.direct-contacts>a.contact-channel{display:flex;justify-content:space-between;gap:25px;align-items:center;width:100%;padding:22px 0;border-top:1px solid var(--editorial-rule);text-decoration:none;font-size:clamp(14px,1.45vw,21px);letter-spacing:-.035em}.contact-channel small{display:block;font-size:10px;letter-spacing:0;color:#5c6c7d;margin-bottom:9px;line-height:1.5}.contact-channel>span:first-child{min-width:0;overflow-wrap:anywhere}.contact-channel>span:last-child{color:var(--focus);font-size:24px;flex:none;transition:translate .2s}.contact-channel:hover{color:var(--focus)}.contact-channel:hover>span:last-child{translate:2px -2px}.direct-note{display:flex;gap:25px;align-items:start;border-top:1px solid var(--editorial-rule);padding-top:24px;margin-top:8px}.direct-note>span{font:10px/1.8 monospace;color:#42648b;white-space:nowrap}.direct-note>p{margin:0;font-size:12px;line-height:1.7;max-width:270px}
.project-brief{border:1px solid #b8c9d9;background:linear-gradient(135deg,#f8fafc,#e9f0f6);padding:30px;box-shadow:0 2px 0 #fff inset}.brief-heading>.eyebrow{margin:0 0 15px}.brief-heading>p:last-child{font-size:18px;line-height:1.5;letter-spacing:-.03em;margin:0 0 30px;max-width:380px}.project-brief fieldset{border:0;margin:0 0 30px;padding:0;min-width:0}.project-brief legend,.project-brief .brief-field>label{font-size:13px;font-weight:600;line-height:1.6;color:#202d3b;padding:0;margin:0 0 12px}.brief-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-brief .brief-option{display:block;position:relative;margin:0;cursor:pointer}.brief-option input{position:absolute;width:1px;height:1px;opacity:0;margin:0}.brief-option>span{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #b6c6d6;background:#fcfdfc;color:#40536b;font-size:12px;min-height:46px;border-radius:2px;transition:background .18s,border-color .18s}.brief-option>span:before{content:'';width:10px;height:10px;box-shadow:0 0 0 1px #8aa0b9 inset;border-radius:50%;flex:none}.brief-option input:checked+span{border-color:#3c64d4;color:#183eae;background:#e8efff}.brief-option input:checked+span:before{box-shadow:0 0 0 3px #fff inset,0 0 0 1px #3159c8;background:#3159c8}.brief-option input:focus-visible+span{outline:2px solid var(--focus);outline-offset:3px}.brief-option:hover>span{border-color:#627fa8}
.project-brief .brief-field>label{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.brief-field>label>span{font-size:10px;color:#66768a;font-weight:400;white-space:nowrap}.project-brief textarea{min-height:140px;width:100%;font-size:14px;line-height:1.75;padding:15px;background:#fff;border:1px solid #acbed0;border-radius:2px;transition:border-color .18s;resize:vertical}.project-brief textarea::placeholder{color:#687a8e;opacity:1}.project-brief textarea:focus{border-color:var(--focus)}.field-meta{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-top:9px;font-size:10px;line-height:1.6;color:#596d84}.field-meta output{font:10px/1.6 monospace;white-space:nowrap}
.brief-extra{margin-top:24px;border-block:1px solid #c5d2df}.brief-extra>summary,.brief-preview>summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;font-size:12px;padding-block:15px;gap:16px}.brief-extra>summary::-webkit-details-marker,.brief-preview>summary::-webkit-details-marker{display:none}.brief-extra[open]>summary>span,.brief-preview[open]>summary>span{transform:rotate(45deg)}.brief-extra .brief-field{padding:4px 0 20px}.brief-extra textarea{min-height:110px}.project-brief .brief-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px}.project-brief .brief-actions>.cta{font-size:12px;min-height:50px;padding:13px 18px;gap:22px;}.brief-actions>.text-link{font-size:11px;gap:10px;min-height:44px}.project-brief .brief-note{font-size:11px;line-height:1.75;margin:8px 0 0;color:#56687b;max-width:470px}.project-brief #brief-status{font-size:12px;min-height:20px;margin:14px 0 0;color:#204ac1}.brief-preview{border-top:1px solid #c5d2df;margin-top:20px}.brief-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 Manrope,Arial,sans-serif;background:#fff;border:1px solid #c5d2df;padding:18px;margin:0 0 4px;color:#334c67}
@media(min-width:1441px){.contact-page-grid{gap:100px}}
@media(max-width:1000px){.contact-page-grid{gap:35px}.project-brief{padding:24px}.contact-grid{gap:35px}.service-opening{gap:35px}.optical-art .workflow-top{font-size:9px}.art-legend{gap:8px}.art-legend li{font-size:10px}.workflow-art.optical-art{padding:18px}.guide-list>a{padding:22px}.guide-folio{margin-bottom:32px}.brief-options{gap:6px}.brief-option>span{font-size:11px;padding:10px}.project-brief .brief-field>label{flex-wrap:wrap;gap:2px 15px}}
@media(max-width:760px){.service-opening{gap:35px}.workflow-art.optical-art{max-width:560px;width:100%;justify-self:center;padding:20px}.optic-diagram{max-height:290px}.art-legend li{font-size:12px}.optical-art figcaption{font-size:10px;margin-top:20px}.guide-list>a{display:flex;align-items:stretch;min-height:270px;padding:25px}.guide-list h3{margin:10px 0 28px;font-size:29px;max-width:540px}.guide-folio{margin-bottom:28px}.guide-list .service-tag{margin-bottom:0}.guide-read{margin-top:auto}.contact-actions{justify-self:start;gap:16px;max-width:none}.contact-grid{gap:30px}.contact-shortcuts{gap:25px}.project-contact h2{font-size:45px}.project-contact:after{right:-5%;width:28%;opacity:.7}.contact-page-grid{grid-template-columns:1fr;gap:45px}.direct-contacts{padding-top:0}.direct-contacts>a.contact-channel{font-size:18px;padding:19px 0}.direct-note>p{max-width:440px}.project-brief{padding:26px}.article-copy p{font-size:16px}.article-toc{gap:7px}.article-toc a{font-size:13px}.footer-primary{padding-top:0}}
@media(max-width:600px){.mobile-menu summary{font-size:11px;width:auto;min-width:62px;gap:9px;padding-inline:4px}.mobile-menu summary>span{font-size:20px}.content-header{gap:9px}.content-header .languages{gap:2px}body[data-mode=site] .hero-cta{padding:11px 18px;min-height:48px;gap:24px;font-size:12px}body[data-mode=site] .hero-cta>span{width:24px;height:24px;font-size:22px}.service-opening .cta{gap:24px}.contact-actions .cta{font-size:13px;min-height:54px;padding:14px 20px}.interior .content-header{padding-bottom:10px}.guide-list>a{padding:23px}.guide-list h3{font-size:27px}.project-contact h2{font-size:40px}.workflow-art.optical-art{padding:17px}.art-legend{padding-top:15px;gap:12px}.art-legend li{font-size:11px}.optical-art figcaption{font-size:9px}.contact-intro{padding-bottom:32px}.contact-page-grid{gap:35px}.project-brief{padding:22px 18px}.project-brief .brief-heading>p:last-child{font-size:18px}.brief-option>span{font-size:11px;min-height:48px;padding:10px}.brief-options{gap:7px}.project-brief textarea{font-size:16px;line-height:1.6;padding:12px}.brief-field>label>span{font-size:9px}.field-meta{font-size:10px;gap:12px}.field-meta>span{max-width:200px}.field-meta output{font-size:9px}.project-brief .brief-actions{gap:8px 18px}.project-brief .brief-preview pre{font-size:12px}.direct-contacts>a.contact-channel{font-size:15px;gap:15px}.contact-channel small{font-size:10px}.direct-note{gap:20px}.direct-note>p{font-size:12px}}
@media(max-width:359px){.content-header>.brand{font-size:19px}.content-header{gap:6px}.mobile-menu summary{min-width:53px;font-size:10px;gap:6px}.content-header .languages a{padding-inline:3px}.art-legend{gap:8px}.art-legend li{font-size:10px}.workflow-art.optical-art{padding:14px}.project-brief{padding:20px 15px}.brief-options{grid-template-columns:1fr}.project-contact h2{font-size:37px}.guide-list h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.art-mainplane,.art-backplane,.art-patch,.cta:after,.cta,.text-link>span,.guide-arrow,.service-arrow,.contact-channel>span:last-child{transition:none}.optical-art:hover .art-backplane,.optical-art:hover .art-patch{transform:none}.cta:after{display:none}}
/* Design rationale: explanatory samples, outside the public sitemap. */
.design-notes .page-intro{padding-top:35px}.design-notes .page-intro>.text-link{margin-bottom:45px}.design-notes h2{font-size:clamp(34px,4.2vw,62px);margin-bottom:30px}.notes-toc{display:flex;flex-wrap:wrap;gap:12px 28px;margin:35px 0 0}.notes-toc a{font-size:13px;padding:10px 0;border-bottom:1px solid #b6c7d8}.notes-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--editorial-rule);align-items:center}.notes-section>div>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#526477;max-width:580px}.notes-palette{display:grid;grid-template-columns:1fr;gap:12px}.swatch{padding:30px;border:1px solid #c4cdd6;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:90px}.swatch strong{font-size:17px;font-weight:500}.swatch span{font-size:11px}.swatch-paper{background:#f5f4f0}.swatch-ink{background:#171c24;color:white}.swatch-blue{background:#2455f4;color:white}.notes-comparison{display:grid;gap:20px}.notes-comparison>div{border:1px solid #c4d1df;padding:28px}.notes-comparison .eyebrow{margin-bottom:24px}.notes-comparison p:last-child{font-size:12px;line-height:1.7;color:#5b6f86;margin-bottom:0}.old-action{border:1px solid #677281;border-radius:50%;padding:17px 35px;display:inline-block;font-size:13px;color:#647185}.type-specimen{padding:35px;border:1px solid #bacddd;background:#ecf2f7}.type-specimen>span{font-size:70px;letter-spacing:-.07em;color:#315181}.type-specimen h3{font-size:34px;line-height:1.15;letter-spacing:-.04em}.type-specimen p{font-size:16px!important}.type-specimen small{font:10px monospace;color:#456486;display:block;margin-top:35px}.notes-table{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.notes-table>div{border-top:1px solid var(--editorial-rule);padding:26px 0}.notes-table h3{font-size:23px;letter-spacing:-.03em;margin:0 0 15px}.notes-table p{font-size:14px;line-height:1.8;color:#526477;margin:0;max-width:530px}.notes-motion{padding:38px;background:#e7eef5;border:1px solid #bccddd}.notes-motion strong{font-size:45px;font-weight:500;letter-spacing:-.05em}.notes-motion .cta{margin-top:20px}.notes-ending{font-size:13px;color:#5b6f86;line-height:1.7;max-width:620px;margin-top:45px}
@media(max-width:760px){.notes-section{grid-template-columns:1fr;gap:35px}.notes-table{grid-template-columns:1fr}.swatch{padding:24px;flex-wrap:wrap;gap:10px}.notes-toc{gap:10px 20px}.notes-motion,.type-specimen{padding:25px}.notes-comparison>div{padding:23px}.type-specimen>span{font-size:55px}.notes-section>div>p:not(.eyebrow){font-size:14px}.notes-motion strong{font-size:37px}}



/* One material across the editorial pages. Static light, no extra WebGL. */
:root{--editorial-rule:#c9d4de}
.interior .page-intro:not(.design-notes .page-intro){background:linear-gradient(90deg,#f5f4f0 4%,#f5f4f0f5 35%,#f5f4f0a6 75%,#f5f4f063),url('/optics-motion/assets/studio-caustics-v1.webp') right 67%/cover no-repeat;border-bottom:1px solid #d4dfe6}
.interior .page-intro+.editorial-section,.interior .page-intro+.article-layout{margin-top:35px}
.workflow-art.optical-art,.deliverable-panel,.project-brief,.guide-list>a,.identity-mark{
  border:1px solid #ccd5dc;
  background:radial-gradient(ellipse at 12% 0%,#fffffff5,transparent 72%),linear-gradient(135deg,#f9faf9eb,#edf2f4d9);
  box-shadow:0 12px 32px #263d4b06;
}
.workflow-art.optical-art{padding:22px 24px 20px}
.optical-art .workflow-top{color:#526f8b}
.optical-art figcaption{color:#586d80}
.art-legend{border-top-color:#b9cfdf}
.guide-list>a{isolation:isolate;overflow:hidden}
.guide-list>a:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 20% 0%,#fff,transparent 75%);opacity:0;transition:opacity .25s}
.guide-list>a:hover{background:#f7f9fa;border-color:#9cabb6;box-shadow:0 12px 32px #263d4b0a}
.guide-list>a:hover:before{opacity:1}
.deliverable-panel:before{height:1px;background:linear-gradient(90deg,#1e4d7e,#adc5d9,#fff);width:88px;top:3px}
.project-contact{background:linear-gradient(90deg,#eff4f8ee,#f1f6f9df 42%,#f1f6f982),url('/optics-motion/assets/studio-caustics-v1.webp') right 79%/cover no-repeat;border-block:1px solid #bfd0df}
.project-contact:after{right:16%;width:7%;background:linear-gradient(90deg,transparent,#fff6,transparent);border-inline-color:#fff9;opacity:.55}
.project-contact .contact-actions>.cta{background:var(--ice-button)}
.estimate-section{background:linear-gradient(118deg,#edf2f5,#f5f8fa 63%,#e6eff6)}
.reading-section{background:linear-gradient(128deg,#edf2f6,#f5f7f9 68%,#e4edf5)}
.prepare-note{background:#f9fcfbd1;border-left-color:#668bab;box-shadow:inset 0 1px 0 #fff}
.project-brief textarea{background:#ffffffed;border-color:#b7c5cf;box-shadow:none}
.brief-option>span{background:#ffffffad;border-color:#c3ced6;box-shadow:none}
.brief-option input:checked+span{background:#eef4f8;border-color:#62819b;color:#173d63;box-shadow:none}
.brief-option input:checked+span:before{background:#315d85;box-shadow:0 0 0 3px #fff inset,0 0 0 1px #658aa9}
.identity-mark{background:linear-gradient(105deg,#f2f7fbe8,#e9f1f8a6),url('/optics-motion/assets/studio-caustics-v1.webp') 72% 60%/cover}
.identity-mark:after{background:linear-gradient(90deg,#fff0,#fff9 50%,#a4c4df30);border-left-color:#fff;border-right-color:#8badcb66}
.article-toc{border-left:1px solid #d0dee8;padding-left:16px}
.article-toc a{border-left-color:transparent}
.editorial-footer{background:linear-gradient(110deg,#f7f7f3,#eef3f7);border-top-color:#b8cbdc}
.footer-legal{border-image:linear-gradient(90deg,#b7cbdc,#d8e4ed,#fff) 1}
.old-action-square{display:inline-flex;align-items:center;gap:26px;background:#171c24;color:#fff;border:1px solid #171c24;padding:7px 7px 7px 20px;border-radius:3px;font-size:13px}
.old-action-square>span{display:grid;place-items:center;width:38px;height:38px;background:#3159e5;color:white;font-size:21px}
@media(max-width:760px){.interior .page-intro:not(.design-notes .page-intro){background-position:76% 80%;background-size:auto 100%}.workflow-art.optical-art{padding:20px}.article-toc{border-left:0;padding-left:0}.project-contact{background-position:70% 70%}.interior .page-intro+.editorial-section,.interior .page-intro+.article-layout{margin-top:24px}}
@media(max-width:600px){.workflow-art.optical-art{padding:17px}.cta,.contact-actions .cta{font-size:13px}.project-brief .brief-actions>.cta{font-size:12px;min-height:50px;gap:20px;padding:12px 17px}}
@media(prefers-reduced-motion:reduce){.cta:hover>span,.project-brief .brief-actions>.cta:hover>span,body[data-mode=site] .hero-cta:hover>span{transform:none}.guide-list>a:before{transition:none}}

/* Quiet secondary controls leave the optical material to the main action. */
.faq-list summary>span,.brief-extra summary>span,.brief-preview summary>span{
  border:0;border-radius:0;background:none;color:#526b7d;font-size:0;
  position:relative;width:28px;height:28px;transition:color .18s;
}
.faq-list summary>span:before,.brief-extra summary>span:before,.brief-preview summary>span:before,
.faq-list summary>span:after,.brief-extra summary>span:after,.brief-preview summary>span:after{
  content:'';position:absolute;left:7px;top:13px;width:14px;height:1px;background:currentColor;
}
.faq-list summary>span:after,.brief-extra summary>span:after,.brief-preview summary>span:after{transform:rotate(90deg);transition:transform .2s}
.faq-list details[open] summary>span,.brief-extra[open]>summary>span,.brief-preview[open]>summary>span{transform:none;background:none;border:0}
.faq-list details[open] summary>span:before{content:'';font-size:0}
.faq-list details[open] summary>span:after,.brief-extra[open]>summary>span:after,.brief-preview[open]>summary>span:after{transform:rotate(0deg)}
.faq-list summary,.brief-extra>summary,.brief-preview>summary{min-height:48px}
.project-brief .brief-options{gap:0 18px;border-top:1px solid #c3ced6}
.project-brief .brief-option>span{
  padding:14px 6px;border:0;border-bottom:1px solid #c3ced6;border-radius:0;
  background:none;box-shadow:none;min-height:50px;color:#4e606f;
}
.project-brief .brief-option input:checked+span{background:linear-gradient(90deg,#e9f0f5a8,transparent);border-color:#8298a8;box-shadow:none;color:#203e53}
.project-brief .brief-option:hover>span{background:#ffffff7a}
.project-brief .brief-option input:checked+span:before{background:#315d85;box-shadow:0 0 0 3px #f4f7f8 inset,0 0 0 1px #658aa9}
.project-brief textarea{border-radius:0;transition:border-color .18s,background .18s}
.project-brief textarea:focus{outline:2px solid #557c9c;outline-offset:3px;background:#fff}
.project-brief textarea[aria-invalid="true"]{border-color:#9b4a3d;outline-color:#9b4a3d}
.project-brief .field-error{font-size:12px;line-height:1.6;color:#8d3b2f;margin:12px 0 0}
.brief-feedback{margin-top:14px;min-height:20px}
.project-brief .brief-feedback #brief-status{margin:0;color:#315263}
.brief-feedback .text-link{font-size:12px;min-height:44px;margin-top:5px}
.brief-feedback:has(#brief-status:empty){margin-top:4px}
@media(prefers-reduced-motion:reduce){
  .faq-list summary>span:after,.brief-extra summary>span:after,.brief-preview summary>span:after{transition:none}
}
