.skip-link{position:absolute;left:18px;top:-70px;z-index:100;background:var(--gold);color:var(--ink);padding:12px}.skip-link:focus{top:8px}.text-link{display:inline-flex;justify-content:space-between;gap:30px;align-items:center;font-size:.875rem;border-bottom:1px solid currentColor;padding:10px 0;transition:color .2s}.text-link:hover{color:#ac8a53}.case-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:65px 40px}.case-card:nth-child(even){margin-top:110px}.case-photo{position:relative;aspect-ratio:1.23;overflow:hidden;background:#28312e}.case-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);transition:transform 1.1s var(--ease),filter .8s}.case-card:hover img{transform:scale(1.055);filter:saturate(1)}.case-tag{position:absolute;top:22px;left:22px;background:#171b1adb;padding:9px 13px;font-size:.75rem;color:var(--paper)}.case-open{position:absolute;bottom:20px;right:20px;display:grid;place-items:center;background:var(--paper);color:var(--ink);width:49px;height:49px;border-radius:50%;font-size:1.5rem;transition:transform .3s}.case-card:hover .case-open{transform:rotate(45deg);background:var(--gold)}.case-meta{display:flex;justify-content:space-between;gap:20px;margin-top:20px;font-size:.75rem;color:var(--muted)}.case-meta span{letter-spacing:.06em;font-size:.625rem}.case-card h3{font-size:clamp(1.55rem,2.4vw,2.7rem);font-weight:500;letter-spacing:-.04em;line-height:1.2;max-width:510px;margin:15px 0 0}.approach{background:#202623}.approach-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.blueprint{position:relative;color:var(--gold);padding:30px;border:1px solid var(--line);overflow:hidden}.blueprint svg{width:100%;display:block}.blueprint-object{transform-origin:50% 50%;animation:float 7s ease-in-out infinite}.blueprint-caption{display:block;font-size:.625rem;letter-spacing:.18em;margin:20px 0 0;color:var(--muted)}.scan-point{animation:glow 2s ease-in-out infinite}.step{border-top:1px solid var(--line);padding:25px 0}.step:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.step summary{display:grid;grid-template-columns:30px 1fr 22px;gap:20px;align-items:center;font-size:1.3rem;letter-spacing:-.025em}.step summary>span:first-child{font-size:.75rem;color:var(--gold)}.step-plus{font-size:1.6rem;color:var(--gold);transition:transform .3s}.step[open] .step-plus{transform:rotate(45deg)}.step p{color:var(--muted);font-size:.94rem;line-height:1.85;padding-left:50px;margin-bottom:0}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.article-card{border-top:1px solid #18201a50;padding-top:20px;display:flex;flex-direction:column;align-items:start;transition:transform .4s}.article-card:hover{transform:translateY(-6px)}.article-meta{width:100%;display:flex;justify-content:space-between;font-size:.75rem;color:#657068}.article-card h3{font-size:1.5rem;letter-spacing:-.035em;font-weight:500;line-height:1.32;min-height:95px;margin:30px 0 15px}.article-card p{font-size:.875rem;color:#69716b;line-height:1.75;margin:0 0 25px}.article-card .text-link{margin-top:auto}.contact-band{position:relative;overflow:hidden}.contact-band:before{content:'';position:absolute;width:500px;height:500px;border:1px solid #c9a66c20;border-radius:50%;left:20%;top:20%;pointer-events:none}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center;position:relative}.contact-grid h2{font-size:clamp(2.5rem,4.6vw,5rem)}.contact-grid h2 em{font-weight:500;font-style:normal;color:var(--gold)}.contact-grid p{font-size:1rem;color:var(--muted);line-height:1.8;margin:20px 0 30px;max-width:360px}.page-intro{padding:90px 0 80px}.page-intro h1{font-size:clamp(2.7rem,5vw,5.6rem);letter-spacing:-.055em;line-height:1.08;font-weight:500;max-width:1100px;margin:32px 0;white-space:pre-line}.page-intro p{font-size:1.15rem;line-height:1.8;color:var(--muted);max-width:750px}.solution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px;padding-bottom:100px}.solution-card{border-top:1px solid var(--line);padding:35px 0 45px}.solution-card .eyebrow{font-size:.7rem;color:var(--muted)}.solution-card h2{font-size:2rem;font-weight:500;letter-spacing:-.04em;margin:25px 0 18px}.solution-card p{max-width:540px;color:var(--muted);font-size:1rem;line-height:1.8}.solution-card .text-link{color:var(--gold)}.catalog details{border-top:1px solid #18201a30}.catalog details:last-child{border-bottom:1px solid #18201a30}.catalog summary{padding:28px 0;display:flex;justify-content:space-between;gap:35px;font-size:1.3rem}.catalog summary span{font-size:.8rem;color:#807452;white-space:nowrap}.catalog ul{columns:2;column-gap:50px;padding:0 0 25px;list-style:none}.catalog li{padding:12px 0;font-size:1rem;line-height:1.6;break-inside:avoid}.service-detail{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:start}.service-detail h2{font-size:2.7rem}.service-detail p{font-size:1rem;line-height:1.9;color:#626c65}.service-aside{background:#e8e6dc;padding:35px;position:sticky;top:25px}.service-aside h3{font-size:1.7rem;font-weight:500}.service-aside ul{padding-left:20px}.service-aside li{font-size:.94rem;line-height:1.65;margin:15px 0}.service-aside .button{width:100%;margin:10px 0 20px}.small{font-size:.8rem!important;line-height:1.7}.work-list{padding:0;list-style:none;margin:30px 0}.work-list li{padding:22px 0;border-bottom:1px solid #18201a25;font-size:1rem;line-height:1.6;display:flex;gap:22px}.work-list li span{color:#927243;font-size:.8rem}.result-box{background:#ddd5c24d;padding:30px;margin:40px 0}.result-box h3{font-size:1.5rem;font-weight:500;line-height:1.5;letter-spacing:-.02em}.service-detail .small-heading{font-size:2rem}.cases-index{padding-bottom:100px}.case-hero img{width:100%;height:min(65vw,750px);object-fit:cover}.case-hero figcaption{font-size:.75rem;color:var(--muted);padding:15px 0 45px}.case-detail{display:grid;grid-template-columns:1fr 2fr;gap:80px}.case-detail article{max-width:850px}.case-detail h2{font-size:2.3rem;margin:0 0 25px}.case-detail h2:not(:first-child){margin-top:55px}.case-detail p{font-size:1.0625rem;line-height:1.9;color:#556058}.case-detail aside p{font-size:1.1rem;margin:25px 0}.reading-layout{display:grid;grid-template-columns:270px 1fr;gap:90px}.toc{align-self:start;position:sticky;top:30px;display:flex;flex-direction:column;gap:20px;font-size:.875rem;line-height:1.65}.toc a{border-bottom:1px solid #18201a20;padding-bottom:12px}.toc a:hover{color:#947448}.reading{max-width:790px}.reading h2{font-size:2.15rem;margin:0 0 25px;line-height:1.2}.reading section{margin-bottom:65px}.reading p,.reading li{font-size:1.0625rem;line-height:1.95;color:#47524a}.reading li{margin:15px 0}.source-note{border-top:1px solid #18201a30;border-bottom:1px solid #18201a30;padding:20px 0;margin:35px 0;font-size:.875rem;color:#667166}.source-note summary:after{content:' +';float:right}.source-note p,.source-note a,.source-note li{font-size:.8rem;line-height:1.8;overflow-wrap:anywhere}.source-note a{border-bottom:1px solid}.contact-details{display:grid;grid-template-columns:1.3fr 1fr;gap:90px}.phone{display:block;font-size:clamp(1.6rem,3.5vw,3.5rem);font-weight:500;letter-spacing:-.035em;margin:30px 0 0;white-space:nowrap}.secondary-phone{display:inline-block;font-size:1rem;margin-top:15px}.social-links{display:flex;gap:35px;margin:35px 0}.social-links a{border-bottom:1px solid #927243;padding-bottom:8px;font-size:.875rem}.contact-brief{border-left:1px solid #18201a30;padding-left:45px}.contact-brief ol{padding-left:20px}.contact-brief li,.contact-brief p{font-size:1rem;line-height:1.9;margin:18px 0}.footer a:hover{color:var(--gold)}@keyframes float{50%{transform:translateY(-8px)}}@keyframes glow{50%{opacity:.2}}
@media(max-width:1050px){.case-grid{gap:45px 25px}.case-card:nth-child(even){margin-top:75px}.approach-grid{gap:35px}.article-grid{gap:25px}.article-card h3{font-size:1.3rem}.contact-grid{gap:35px}.service-detail,.case-detail{gap:45px}.reading-layout{grid-template-columns:220px 1fr;gap:45px}.contact-details{gap:35px}.phone{font-size:2.2rem}.contact-brief{padding-left:25px}.step summary{font-size:1.1rem;gap:10px}.blueprint{padding:15px}}
@media(max-width:700px){.case-grid,.article-grid,.approach-grid,.contact-grid,.solution-grid,.service-detail,.case-detail,.reading-layout,.contact-details{grid-template-columns:1fr;gap:40px}.case-card:nth-child(even){margin-top:0}.case-card h3{font-size:1.75rem}.case-meta span{display:none}.case-photo{aspect-ratio:1.2}.case-tag{top:15px;left:15px}.article-card h3{min-height:0;font-size:1.65rem;margin:25px 0 15px}.article-card{padding-top:20px}.article-grid{gap:40px}.blueprint{max-width:500px}.step summary{font-size:1.2rem}.step p{padding-left:40px}.contact-grid{gap:12px}.contact-grid h2{font-size:2.7rem}.contact-grid p{margin-top:10px}.page-intro{padding:55px 0 50px}.page-intro h1{font-size:2.8rem;line-height:1.13;overflow-wrap:break-word}.page-intro p{font-size:1rem}.solution-grid{padding-bottom:50px;gap:0}.solution-card{padding:30px 0}.solution-card h2{font-size:1.9rem}.catalog summary{font-size:1.05rem;gap:15px;line-height:1.6}.catalog ul{columns:1}.service-detail h2{font-size:2.3rem}.service-aside{position:static;padding:25px}.case-hero{margin-bottom:0}.case-hero img{height:350px}.case-detail article h2{font-size:2rem}.toc{position:static;border-bottom:1px solid #18201a30;padding-bottom:25px}.reading h2{font-size:1.9rem}.reading p{font-size:1rem}.reading section{margin-bottom:45px}.contact-brief{padding:30px 0 0;border-left:0;border-top:1px solid #18201a30}.phone{font-size:clamp(1.65rem,7.5vw,2.8rem)}.contact-details{gap:25px}.social-links{gap:25px}.reading ul{padding-left:20px}}
@media(prefers-reduced-motion:reduce){.blueprint-object,.scan-point{animation:none}}
.case-credit{font-size:.75rem;color:var(--muted);margin-top:14px;line-height:1.6}
.hero h1{letter-spacing:-.025em}
.visual-tag{gap:12px;flex-wrap:wrap}.visual-tag span:last-child{margin-left:auto}
.hero-visual{right:0}
h1,h2,h3{overflow-wrap:break-word}.button{max-width:100%}
@media(max-width:360px){.section h2{font-size:2.15rem;overflow-wrap:anywhere}.hero h1{font-size:2.2rem}.contact-grid h2{font-size:2.15rem}}
@media(max-width:700px){.hero{min-height:0;padding-bottom:100px}.hero-visual{position:relative;top:auto;margin-top:40px;height:300px}.hero-copy{padding-bottom:0}.hero-bottom{bottom:25px}}
@media(max-width:700px){.site-header{gap:8px}.brand{gap:10px}.brand-small{font-size:.5rem;letter-spacing:.1em}.brand-icon{width:25px}.menu-toggle{font-size:.8rem;padding:9px 10px}.hero-bottom>span:last-child{display:none}.visual-tag{left:20px;right:20px;font-size:.6rem}.visual-tag span:last-child{margin-left:0}.hero h1{font-size:clamp(2.35rem,10.2vw,4.4rem)}}
/* Technical-client category: P-TZ01 / U-020. */
.tz-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;padding-top:90px;padding-bottom:100px}.tz-hero h1{font-size:clamp(3rem,6vw,6.1rem);line-height:1.03;letter-spacing:-.045em;margin:25px 0}.tz-hero em{font-style:normal;color:var(--gold)}.tz-hero p{font-size:1.05rem;line-height:1.75;max-width:550px;color:var(--muted)}.tz-hero .tz-lead{font-size:2rem;line-height:1.3;color:var(--text);margin:30px 0 22px}.tz-hero .button{margin-top:15px}.tz-secondary{display:block;width:fit-content;margin-top:25px}.tz-map{align-self:center;border:1px solid #c9a66c50;padding:35px;background:linear-gradient(135deg,#c9a66c10,transparent)}.tz-map>a{display:grid;grid-template-columns:30px 1fr 15px;gap:14px;padding:23px 0;border-bottom:1px solid #c9a66c30;line-height:1.4;font-size:1rem}.tz-map>a:hover{color:var(--gold)}.tz-map>a span{color:var(--gold);font-size:.8rem}.tz-map b{font-weight:400}.tz-map p{font-size:.8rem;margin-bottom:0}.tz-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.tz-benefits>div{border-top:1px solid #18201a40;padding-top:25px}.tz-benefits span{font-size:.75rem;color:#7b674a}.tz-benefits h3,.tz-formats h3{font-size:1.65rem;font-weight:500;line-height:1.3}.tz-benefits p,.tz-formats p,.tz-price p{font-size:1rem;line-height:1.8;color:#556058}.tz-stages{padding-top:0}.tz-stage{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;padding:55px 0;border-top:1px solid #18201a40;scroll-margin-top:30px}.tz-num{font-size:2.8rem;color:#927243;font-weight:300}.tz-stage h3{font-size:2.05rem;line-height:1.2;letter-spacing:-.025em;font-weight:500;margin:20px 0}.tz-stage-heading p{font-size:1rem;line-height:1.8;color:#556058}.tz-work{list-style:none;padding:0;margin:0}.tz-work li{border-bottom:1px solid #18201a20;padding:14px 0 14px 22px;position:relative;line-height:1.65;font-size:1rem}.tz-work li:before{content:'—';position:absolute;left:0;color:#927243}.tz-result{background:#e4e0d3;padding:25px;margin-top:25px}.tz-result p{line-height:1.7;margin-bottom:0;font-size:1rem;color:#38463b}.tz-types{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tz-types span{padding:25px;border:1px solid #c9a66c40;line-height:1.5}.tz-formats{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:45px 0 70px}.tz-formats article{background:#e8e6dc;padding:35px}.tz-price{border-top:1px solid #18201a40;padding-top:45px;display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.tz-price h3{font-size:2rem;line-height:1.3;font-weight:500}.tz-faq{max-width:950px}.tz-faq details{border-bottom:1px solid #18201a40;padding:22px 0}.tz-faq summary{display:flex;justify-content:space-between;gap:25px;line-height:1.5;font-size:1.15rem;cursor:pointer}.tz-faq summary span{color:#927243}.tz-faq details p{color:#556058;line-height:1.8;font-size:1rem;max-width:800px}.tz-related{display:flex;flex-wrap:wrap;gap:25px;padding-top:35px;padding-bottom:35px;align-items:center}.tz-related a{font-size:.9rem;border-bottom:1px solid #c9a66c50;padding-bottom:5px}
@media(max-width:1050px){.tz-hero{gap:35px}.tz-map{padding:25px}.tz-stage,.tz-price{gap:40px}.tz-benefits{gap:25px}}
@media(max-width:700px){.tz-hero{grid-template-columns:1fr;padding-top:50px;padding-bottom:55px;gap:45px}.tz-hero h1{font-size:clamp(2.6rem,11vw,4.7rem)}.tz-hero .tz-lead{font-size:1.7rem}.tz-map{padding:22px}.tz-map>a{font-size:.95rem;padding:19px 0}.tz-benefits,.tz-stage,.tz-types,.tz-formats,.tz-price{grid-template-columns:1fr;gap:25px}.tz-stage{padding:35px 0}.tz-stage h3{font-size:1.75rem}.tz-stage-heading p{margin-bottom:0}.tz-formats{margin-bottom:45px}.tz-formats article{padding:25px}.tz-faq summary{font-size:1.05rem}.tz-types{gap:12px}.tz-types span{padding:20px}.tz-related{align-items:flex-start;flex-direction:column}.tz-stages{padding-top:0}}
