/* Additive motion only. Existing content boxes and responsive grids stay intact. */
:root{--motion-ease:cubic-bezier(.22,.61,.36,1);--motion-gold:#d4bd97}
body[data-page=home] .hero-content{animation:none}
.motion-veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:#101a2bb8}
.motion-rule{position:absolute;left:0;top:0;width:100%;height:1px;background:#d4bd97;pointer-events:none;z-index:3}
.about-visual .about-stamp,.about-visual .image-tag{z-index:4}
.business-photo{--motion-image:none}
.business-photo::before{content:'';position:absolute;inset:0;background-image:var(--motion-image);background-size:cover;background-position:center;clip-path:inset(0 0 0 53%);opacity:0;transform:scale(1);transition:transform 900ms var(--motion-ease),opacity 700ms var(--motion-ease);pointer-events:none}
.business-card:focus-within .business-photo::before{opacity:1;transform:scale(1.04)}
body[data-page=home] .business-card:hover img{transform:none}
.motion-opening{position:absolute;inset:0;display:flex;z-index:2;pointer-events:none;overflow:hidden}
.motion-opening span{width:50%;height:100%;background:#101a2bd1;transform-origin:left center;border-right:1px solid #d4bd9755}
.motion-opening span+span{transform-origin:right center;background:#101a2bad;border-left:1px solid #d4bd9755;border-right:0}
.business-photo>span{z-index:3}
.motion-wires{position:absolute;pointer-events:none;overflow:visible;z-index:1;contain:layout style}
.motion-wire{fill:none;stroke:#bfa782;stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.motion-beam{fill:none;stroke:#edddc2;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:.13 .87;stroke-dashoffset:.13;opacity:0}
.operation-flow>div{transition:background-color 550ms var(--motion-ease)}
.operation-flow>div>span,.operation-flow>div h3,.operation-flow>div p,.operation-flow>div::after{transition:color 550ms var(--motion-ease)}
.operation-flow>div.motion-lit{background:linear-gradient(180deg,#c4ad860a,transparent 78%)}
.operation-flow>div.motion-lit>span{color:#ead8b6}
.operation-flow>div.motion-lit h3{color:#eee5d5}
.operation-flow>div.motion-lit p{color:#bdc6d1}
.operation-flow>div.motion-lit::after{color:#ead8b6}
body[data-page=home] .project-image>img,body[data-page=home] .project-image>.source-trim-svg{transition:transform 950ms var(--motion-ease);transform-origin:center}
body[data-page=home] .project-title h3,body[data-page=home] .project-meta dd{transition:color 550ms var(--motion-ease)}
body[data-page=home] .project-card:focus-within .project-image>img,body[data-page=home] .project-card:focus-within .project-image>.source-trim-svg{transform:scale(1.018)}
body[data-page=home] .project-card:focus-within .project-title h3,body[data-page=home] .project-card:focus-within .project-meta>div:nth-child(4) dd{color:#87683d}
.process{position:relative}.process-list li>span,.process-list h3,.process-list p{transition:color 500ms var(--motion-ease)}
.process-list li.motion-lit>span{color:#7f633e}.process-list li.motion-lit h3{color:#293b50}.process-list li.motion-lit p{color:#526272}
.inquiry-action .button{position:relative}
.motion-cta-outline{position:absolute;inset:-5px;border:1px solid #d4bd9799;pointer-events:none}
.footer-top{position:relative}
.motion-footer-rule{position:absolute;bottom:-1px;left:0;right:0;height:1px;background:#9e8158;transform-origin:left;pointer-events:none}
@media(hover:none),(pointer:coarse){body[data-page=home] .project-card:hover .project-image>img,body[data-page=home] .project-card:hover .project-image>.source-trim-svg{transform:none}}
@media(hover:hover) and (pointer:fine){
 .business-card:hover .business-photo::before{opacity:1;transform:scale(1.04)}
 .operation-flow>div:hover{background-color:#c4ad860c}
 .operation-flow>div:hover h3{color:#e4cfac}
 body[data-page=home] .project-card:hover .project-image>img,body[data-page=home] .project-card:hover .project-image>.source-trim-svg{transform:scale(1.018)}
 body[data-page=home] .project-card:hover .project-title h3,body[data-page=home] .project-card:hover .project-meta>div:nth-child(4) dd{color:#87683d}
}
@media(prefers-reduced-motion:reduce){
 .motion-veil,.motion-rule,.motion-opening,.motion-wires,.motion-footer-rule,.motion-cta-outline{display:none!important}
 .business-photo::before{display:none}
 body[data-page=home] .project-card .project-image>img,body[data-page=home] .project-card .project-image>.source-trim-svg{transform:none!important}
 .operation-flow>div,.operation-flow>div>span,.operation-flow>div h3,.operation-flow>div p,.project-title h3,.project-meta dd,.process-list li>span{transition:none!important}
}

/* WHY TAESAN: full-width AI signature within the existing section. */
#expertise{background-image:linear-gradient(90deg,#101a2b88 0%,#101a2b18 56%,#101a2b00 100%),url('assets/signature/ai-atmosphere.svg');background-position:center,right center;background-size:cover,cover;background-repeat:no-repeat}
#expertise .operation-flow>div:not(:last-child)::after{background:transparent}
#expertise .expertise-bottom{display:block;margin-top:54px;padding-top:52px;border-top:1px solid #c4ad863d;position:relative;isolation:isolate}
#expertise .expertise-bottom::before{content:'';position:absolute;inset:-10px -3% -60px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,#8baac21a,transparent 68%)}
#expertise .ai-system-copy{position:relative;min-width:0;max-width:920px;margin-inline:auto;text-align:center}
#expertise .ai-system-label{color:#c4ad86;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:2.2px;margin:0 0 17px}
#expertise .ai-system-copy h3{font-size:34px;font-weight:500;line-height:1.4;letter-spacing:-1.1px;margin:0;word-break:keep-all}
#expertise .ai-system-copy h3 span{display:inline-block}
#expertise .ai-system-map{position:relative;margin:36px auto 26px;max-width:800px}
#expertise .ai-system-network{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
#expertise .ai-system-network li{min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
#expertise .ai-system-icon{width:60px;height:60px;display:grid;place-items:center;border:1px solid #c4ad8666;border-radius:50%;color:#d6c3a4;background:#152132;margin-bottom:17px;box-shadow:0 0 0 7px #14203366}
#expertise .ai-system-icon svg{width:29px;height:29px}
#expertise .ai-system-network strong{color:#f4efe7;font-size:20px;font-weight:500;line-height:1.5;letter-spacing:-.4px;word-break:keep-all}
#expertise .ai-system-node-copy{color:#aebccc;font-size:14px;line-height:1.7;margin-top:8px;word-break:keep-all}
#expertise .ai-system-path{position:absolute;left:16.66%;right:16.66%;top:30px;height:1px;background:linear-gradient(90deg,#c4ad8622,#c4ad8680,#c4ad8622);transform-origin:left}
#expertise .ai-system-network li:not(:last-child)::after{content:'›';position:absolute;left:calc(100% + 6px);top:17px;color:#c4ad86;font-family:Georgia,serif;font-size:20px;line-height:24px}
#expertise .ai-system-value{text-align:center;margin:0;padding:23px 0 0;border-top:1px solid #c4ad862b;color:#b7c4d2;font-size:21px;line-height:1.65;letter-spacing:-.45px;word-break:keep-all;overflow-wrap:break-word}
#expertise .ai-system-value strong{color:#eee2cd;font-weight:500}
#expertise .ai-system-copy .detail-note{font-size:13px;line-height:1.8;color:#a7b3c2;margin-top:18px;word-break:keep-all}
#expertise .ai-system-rule{position:absolute;left:calc(50% - 44px);top:-19px;width:88px;height:1px;background:#d4bd97;transform-origin:center;pointer-events:none}
@media(max-width:899px){#expertise .ai-system-copy h3{font-size:30px}#expertise .ai-system-network strong{font-size:18px}#expertise .ai-system-value{font-size:19px}}
@media(max-width:640px){
 #expertise{background-image:linear-gradient(90deg,#101a2b55,#101a2b22),url('assets/signature/ai-atmosphere.svg');background-size:cover,auto 100%;background-position:center,70% center}
 #expertise .expertise-bottom{margin-top:36px;padding-top:39px}
 #expertise .ai-system-label{font-size:11px;letter-spacing:1.5px;margin-bottom:14px}
 #expertise .ai-system-copy h3{font-size:26px;line-height:1.4;letter-spacing:-.8px}
 #expertise .ai-system-map{margin:28px 0 24px}
 #expertise .ai-system-network{gap:8px}
 #expertise .ai-system-icon{width:46px;height:46px;margin-bottom:14px;box-shadow:0 0 0 5px #14203366}
 #expertise .ai-system-icon svg{width:24px;height:24px}
 #expertise .ai-system-path{top:23px}
 #expertise .ai-system-network li:not(:last-child)::after{left:calc(100% - 1px);top:10px}
 #expertise .ai-system-network strong{font-size:15px;line-height:1.5;min-height:45px;display:flex;flex-direction:column;justify-content:center}
 #expertise .ai-system-network strong span{display:block}
 #expertise .ai-system-node-copy{font-size:12px;line-height:1.7;margin-top:6px;letter-spacing:-.2px}
 #expertise .ai-system-value{font-size:18px;line-height:1.65;padding-top:20px}
 #expertise .ai-system-value>span{display:block}
 #expertise .ai-system-value strong{display:block;max-width:280px;margin-inline:auto}
 #expertise .ai-system-copy .detail-note{font-size:12px;line-height:1.8;margin-top:16px}
}
@media(prefers-reduced-motion:reduce){#expertise .ai-system-rule{display:none!important}#expertise .operation-flow>div h3,#expertise .operation-flow>div p,#expertise .operation-flow>div::after{transition:none!important}}

/* Single-pass architectural linework around AI role symbols; no layout footprint. */
#expertise .ai-system-icon{position:relative}
#expertise .ai-system-icon svg.ai-motion-ring{position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);overflow:visible;pointer-events:none;transform:rotate(-90deg)}
#expertise .ai-motion-ring circle{fill:none;stroke:#d9c29b;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
@media(prefers-reduced-motion:reduce){#expertise .ai-motion-ring{display:none!important}}
