/* Swetha Portfolio — editorial interactive system inspired by contemporary personal sites. */
:root{
  --bg:#ffffff;--surface:#fafafc;--surface-2:#f2f2f5;--text:#000000;--muted:#6e6e73;--line:rgba(0,0,0,.10);--accent:#0866ff;--accent-2:#1f8f7e;--shadow:0 20px 60px rgba(0,0,0,.07);--radius:28px;--max:1180px;--mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;--serif:"Instrument Serif",Georgia,serif;--sans:"Inter",Arial,sans-serif;
}
[data-theme="dark"]{--bg:#000000;--surface:#0e0e0e;--surface-2:#1a1a1a;--text:#f5f5f7;--muted:#8e8e93;--line:rgba(255,255,255,.10);--accent:#4d90ff;--accent-2:#3ad0bb;--shadow:0 24px 80px rgba(0,0,0,.6)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.5;transition:background .5s ease,color .5s ease}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:var(--max);margin:0 auto;padding:0 28px}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 82%,transparent)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:13px;background:var(--text);color:var(--bg)}.brand strong{display:block;font-size:15px;letter-spacing:normal}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:-2px}.site-nav{display:flex;gap:22px;align-items:center;font-size:13px;color:var(--muted)}.site-nav a{transition:color .2s}.site-nav a:hover,.site-nav a.active{color:var(--text)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;font-family:var(--sans);cursor:pointer;box-shadow:none;transition:border-color .2s,background .2s,transform .2s}.theme-toggle:hover{border-color:color-mix(in srgb,var(--text) 30%,var(--line))}.theme-toggle[data-theme-toggle]{width:30px;height:30px;padding:0;border-radius:50%}.theme-toggle[data-theme-toggle]:hover{transform:rotate(-15deg) scale(1.05)}.tt-ico{width:16px;height:16px;display:block}.theme-toggle .tt-moon{display:none}[data-theme="dark"] .theme-toggle .tt-sun{display:none}[data-theme="dark"] .theme-toggle .tt-moon{display:block}.menu{display:none}.hero{min-height:calc(100vh - 76px);display:grid;align-items:center;padding:68px 0 58px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:54px;align-items:end}.eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.display{font-family:var(--serif);font-size:clamp(58px,8.2vw,128px);line-height:.92;letter-spacing:-.028em;margin:22px 0 28px;font-weight:400}.display .tight{letter-spacing:-.035em}.intro{font-size:clamp(18px,2vw,24px);line-height:1.48;max-width:740px;color:var(--muted);letter-spacing:normal}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{border:1px solid var(--text);border-radius:999px;padding:12px 18px;font-size:13px;display:inline-flex;align-items:center;gap:8px;transition:transform .2s,background .2s,color .2s}.btn.primary{background:var(--text);color:var(--bg)}.btn:hover{transform:translateY(-2px)}.side-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),var(--surface-2));border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);min-height:390px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.orb{position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 65%);opacity:.18;filter:blur(1px)}.side-card h2{font-family:var(--serif);font-weight:400;font-size:42px;line-height:1;letter-spacing:-.018em;margin:0;position:relative}.meta-list{display:grid;gap:12px;position:relative}.meta-row{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;border-top:1px solid var(--line);padding-top:12px;font-size:13px}.meta-row strong{font-weight:700}.meta-row span:first-child{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}.section{padding:92px 0;border-top:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-kicker{font-family:var(--mono);font-size:12px;color:var(--muted)}.section-title{font-family:var(--serif);font-size:clamp(44px,6vw,86px);line-height:.96;letter-spacing:-.022em;margin:0}.manifesto{font-family:var(--serif);font-size:clamp(34px,5vw,72px);line-height:1.08;letter-spacing:-.018em;max-width:980px;margin:0}.manifesto em{color:var(--accent);font-style:normal}.work-rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:max(28px,calc((100vw - var(--max))/2 + 28px));width:100vw;margin-left:calc(50% - 50vw);padding:8px 28px 26px max(28px,calc((100vw - var(--max))/2 + 28px));cursor:grab;scrollbar-width:none;-ms-overflow-style:none}.work-rail::-webkit-scrollbar{display:none}.work-card{min-width:min(78vw,520px);scroll-snap-align:start;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:24px;min-height:520px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;box-shadow:none}.work-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--text) 28%,var(--line));box-shadow:0 10px 28px rgba(17,17,17,.06)}[data-theme="dark"] .work-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.22)}.visual{aspect-ratio:2/1;border-radius:22px;background:linear-gradient(135deg,var(--surface-2),color-mix(in srgb,var(--accent) 28%,var(--surface)));display:grid;place-items:center;font-family:var(--serif);font-size:70px;color:var(--text);position:relative;overflow:hidden}.visual:after{content:"";position:absolute;inset:20px;border:1px solid var(--line);border-radius:18px}.visual.has-img{font-size:0}.visual.has-img:after{display:none}.visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.work-card .number{font-family:var(--mono);font-size:12px;color:var(--muted)}.work-card h3{font-size:30px;letter-spacing:-.018em;line-height:1.08;margin:18px 0 10px}.work-card p{color:var(--muted);font-size:15px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tag{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;color:var(--muted)}.ticker{overflow:hidden;border-block:1px solid var(--line);padding:18px 0;background:var(--surface)}.ticker-track{white-space:nowrap;display:inline-block;animation:ticker 34s linear infinite;font-family:var(--mono);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.07em}.ticker span{margin-right:26px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.info-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:var(--surface)}.info-card h3{font-size:24px;margin:0 0 12px;letter-spacing:-.01em}.info-card p,.info-card li{color:var(--muted)}.leadership-list{display:grid;gap:14px}.leadership-item{border-top:1px solid var(--line);padding-top:18px;display:grid;grid-template-columns:170px 1fr;gap:24px}.leadership-item b{font-family:var(--mono);font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.page-hero{padding:92px 0 52px}.page-hero h1{font-family:var(--serif);font-size:clamp(58px,8.2vw,128px);line-height:.92;letter-spacing:-.028em;margin:22px 0 28px;font-weight:400}.case-layout{display:grid;grid-template-columns:280px 1fr;gap:54px}.case-sidebar{position:sticky;top:110px;align-self:start;border:1px solid var(--line);border-radius:22px;padding:20px;background:var(--surface)}.case-sidebar a{display:block;padding:10px 0;color:var(--muted);font-size:13px}.case-sidebar a:hover{color:var(--text)}.case-content section{padding:0 0 58px}.case-content h2{font-family:var(--serif);font-size:56px;line-height:1;letter-spacing:-.018em;margin:0 0 18px}.case-content p{font-size:18px;color:var(--muted);max-width:760px}.bullets{display:grid;gap:12px;margin-top:20px}.bullet{border-left:2px solid var(--accent);padding-left:16px;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding:80px 0 0;color:var(--muted);overflow:hidden}.footer-grid{display:flex;justify-content:space-between;gap:32px;align-items:end}.footer-grid h2{font-family:var(--serif);font-size:56px;line-height:1;letter-spacing:-.018em;color:var(--text);margin:0}.footer-lead{max-width:640px}.footer-note{max-width:560px;margin:18px 0 0;color:var(--muted);font-size:15px;line-height:1.55}.footer-copy{margin:0;font-size:13px;color:var(--muted);font-family:var(--mono)}.footer-headline{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5.2vw,84px);line-height:1.05;letter-spacing:-.022em;color:var(--muted);margin:0 0 52px;max-width:none}.footer-headline .lead-strong{color:var(--text)}.rotateword{display:inline-block;height:1.05em;line-height:1.05;overflow:hidden;vertical-align:bottom;color:var(--accent)}.rotateword-track{display:flex;flex-direction:column;animation:rotateword 8s infinite cubic-bezier(.6,0,.2,1)}.rotateword-track>span{height:1.05em;line-height:1.05}@keyframes rotateword{0%,28%{transform:translateY(0)}33%,61%{transform:translateY(-25%)}66%,94%{transform:translateY(-50%)}100%{transform:translateY(-75%)}}.footer-top{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.footer-col{display:flex;flex-direction:column;gap:12px}.footer-label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.footer-col>a{font-size:15px;color:var(--text);transition:color .2s;width:max-content}.footer-col>a:hover{color:var(--accent)}.footer-social{display:flex;gap:10px}.footer-social a{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:var(--text);transition:border-color .2s,color .2s}.footer-social a:hover{border-color:var(--accent);color:var(--accent)}.footer-menu{display:grid;grid-template-columns:auto auto;gap:8px 28px;justify-content:start}.footer-menu a{font-size:15px;color:var(--text);transition:color .2s}.footer-menu a:hover{color:var(--accent)}.footer-rule{height:1px;background:var(--line);margin:36px 0 20px}.footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.footer-bigname{position:relative;font-weight:800;font-size:clamp(64px,20vw,260px);line-height:.8;letter-spacing:-.045em;text-align:center;color:var(--text);margin-top:16px;height:.6em;overflow:hidden;user-select:none}.footer-bigname::after{content:"";position:absolute;left:0;right:0;bottom:0;height:33%;pointer-events:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 70%);mask-image:linear-gradient(to bottom,transparent,#000 70%)}
.approach-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;align-items:start}.approach-list{display:grid;gap:30px}.approach-item{border-top:1px solid var(--line);padding-top:18px}.approach-item b{display:block;font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.08em;margin-bottom:10px}.approach-item h3{font-size:22px;letter-spacing:-.01em;margin:0 0 8px}.approach-item p{color:var(--muted);font-size:15px;margin:0;max-width:520px}
/* About page */
.about-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:54px;align-items:center}
.about-hero-grid h1{font-size:clamp(38px,4.8vw,72px);line-height:1;margin:18px 0 24px}
.about-portrait{position:relative;aspect-ratio:4/5;display:grid;place-items:center}
.about-hero{position:relative;overflow:hidden}
.about-hero .container{position:relative;z-index:2}
.about-portrait.has-photo{aspect-ratio:auto;align-self:end;display:flex;justify-content:center;align-items:flex-end;min-height:0;margin-bottom:-52px;background:none;place-items:initial}
.about-portrait:before{content:"";position:absolute;inset:8% 10%;border-radius:50%;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 68%);filter:blur(6px);opacity:.6}
.about-portrait img{position:relative;width:100%;height:100%;object-fit:contain}
.about-portrait.has-photo img{width:auto;max-width:100%;height:auto;max-height:clamp(420px,52vw,640px);object-fit:contain;object-position:bottom center;filter:drop-shadow(0 24px 48px rgba(0,0,0,.14))}
.about-portrait .portrait-ph{position:relative;width:74%;height:auto;color:var(--muted);opacity:.32}
.about-portrait .portrait-note{position:absolute;bottom:6%;left:0;right:0;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.7}
.profile-copy{display:grid;gap:18px}.profile-copy p{color:var(--muted);font-size:17px;line-height:1.6;margin:0;max-width:640px}
.strengths-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.strengths-grid .info-card{padding:24px}.strengths-grid h3{font-size:19px;margin:0 0 8px}.strengths-grid p{font-size:15px;margin:0}
/* Contact form */
.contact-hero{padding-bottom:72px}.contact-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,480px);gap:54px;align-items:start}.contact-hero-grid h1{font-size:clamp(38px,4.8vw,72px);line-height:1;margin:18px 0 24px}.contact-form{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:grid;gap:8px}.form-field label{font-size:14px;font-weight:600;color:var(--text)}.form-field input,.form-field textarea{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:14px;padding:14px 16px;font:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-field input::placeholder,.form-field textarea::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.form-field textarea{min-height:148px;resize:vertical}.contact-form .btn.primary{width:100%;justify-content:center;margin-top:4px;padding:14px 18px}.form-note{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--muted);text-align:center;margin:4px 0 0}.form-success{display:none;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-radius:14px;color:var(--text);font-size:14px}.form-success.show{display:block}.password-overlay{position:fixed;inset:0;background:var(--bg);z-index:100;display:none;place-items:center;padding:28px}.password-box{max-width:460px;width:100%;border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:28px}.password-box input{width:100%;padding:14px 16px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:14px;margin:18px 0}.cursor-glow{position:fixed;width:280px;height:280px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%,transparent),transparent 65%);z-index:-1;transform:translate(-50%,-50%);opacity:.75}.fade-in{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.fade-in.visible{opacity:1;transform:none}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* ---- Look & feel refresh ------------------------------------------------- */
::selection{background:color-mix(in srgb,var(--accent) 26%,transparent);color:var(--text)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
:root{--accent-soft:color-mix(in srgb,var(--accent) 14%,transparent)}
/* All h2 titles share the serif display font + weight used by h1 */
h2{font-family:var(--serif);font-weight:400}
/* Subtle artist line-art layer — sits behind everything, never blocks content */
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.05;background-repeat:no-repeat;background-position:center;background-size:cover;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='1024' viewBox='0 0 1440 1024'%3E%3Cg fill='none' stroke='%23000000' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M-40 230 C 250 120 430 330 710 230 S 1190 120 1480 250'/%3E%3Cpath d='M-40 292 C 270 196 452 392 732 292 S 1212 196 1480 312'/%3E%3Cpath d='M-40 354 C 290 268 474 452 754 354 S 1234 268 1480 372'/%3E%3Ccircle cx='1110' cy='205' r='150'/%3E%3Ccircle cx='1110' cy='205' r='104'/%3E%3Ccircle cx='1110' cy='205' r='58'/%3E%3Cpath d='M110 792 C 300 640 430 930 620 792 S 970 640 1150 812'/%3E%3Cpath d='M170 868 C 360 740 474 980 668 868'/%3E%3Cpath d='M250 540 C 332 476 392 624 486 540'/%3E%3Cpath d='M40 612 C 150 560 210 700 320 612'/%3E%3C/g%3E%3C/svg%3E")}
[data-theme="dark"] body::before{opacity:.08;filter:invert(1)}
@media (max-width:860px){body::before{opacity:.04}}
/* Animated brand mark */
.brand-mark{transition:transform .4s cubic-bezier(.2,.8,.2,1),background .3s}
.brand:hover .brand-mark{transform:rotate(-8deg) scale(1.06)}
/* Nav: sliding active/hover underline */
.site-nav a{position:relative;padding-bottom:3px}
.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--accent);transition:right .28s ease}
.site-nav a:hover:after,.site-nav a.active:after{right:0}
/* Buttons: accent fill that wipes in on hover */
.btn{position:relative;overflow:hidden;isolation:isolate;font-weight:600}
.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.btn:hover{color:#fff;border-color:var(--accent)}
.btn:hover:before{transform:scaleX(1)}
.btn.primary:before{background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 55%,var(--accent-2)))}
/* Hero headline gets a faint accent gradient on the emphasised word */
.display .grad{background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
/* Floating orb on the side card */
.orb{animation:orbFloat 9s ease-in-out infinite}
@keyframes orbFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(-14px,16px)}}
.side-card{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.side-card:hover{transform:translateY(-4px)}
/* Work cards: softer image reveal */
.work-card{position:relative}
.work-card .visual{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.work-card:hover .visual{transform:scale(1.015)}
.work-card strong{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--text);border-radius:999px;padding:11px 18px;font-size:13px;font-weight:600;color:var(--text);position:relative;overflow:hidden;isolation:isolate;transition:color .25s ease,border-color .25s ease}
.work-card strong:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--text);transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.work-card:hover strong{color:var(--bg);border-color:var(--text)}
.work-card:hover strong:before{transform:scaleX(1)}
.work-card.is-soon{opacity:.92}.work-card.is-soon .visual{font-family:var(--serif);font-size:clamp(36px,5vw,52px);letter-spacing:-.02em;color:var(--muted)}.work-card.is-soon strong{color:var(--muted);border-color:var(--line);cursor:default}.work-card.is-soon:hover strong{color:var(--muted);border-color:var(--line)}.work-card.is-soon strong:before{display:none}
/* Tag hover */
.tag{transition:border-color .2s,color .2s,background .2s}
.tag:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}
/* Ticker: fade the edges so it reads as a continuous belt */
.ticker{-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
/* Info / leadership cards lift slightly */
.info-card{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.info-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--text) 22%,var(--line))}
.leadership-item b{transition:color .2s}
/* Footer call-to-action link gets the underline treatment too */
.footer-grid a{position:relative}
.footer-grid a:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.footer-grid a:hover:after{transform:scaleX(1)}
/* Respect reduced-motion preferences */
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.fade-in{opacity:1!important;transform:none!important}}
@media (max-width:860px){.container{padding:0 18px}.site-nav{display:none}.menu{display:block}.nav.open .site-nav{display:flex;position:absolute;left:18px;right:18px;top:70px;padding:18px;border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;align-items:flex-start}.hero{min-height:auto;padding:56px 0}.hero-grid,.grid-2,.case-layout,.approach-grid,.about-hero-grid,.strengths-grid,.contact-hero-grid{grid-template-columns:1fr;gap:32px}.about-portrait{max-width:340px;margin:0 auto}.about-portrait.has-photo{max-width:min(360px,80vw);margin:0 auto -32px}.about-portrait.has-photo img{max-height:none;width:100%}.contact-hero-grid h1{font-size:clamp(56px,18vw,82px);line-height:.88}.display,.page-hero h1{font-size:clamp(56px,18vw,82px);line-height:.88}.form-row{grid-template-columns:1fr}.intro{font-size:18px}.side-card{min-height:310px}.section{padding:64px 0}.section-head{display:block}.work-rail{scroll-padding-left:18px;padding-left:18px;padding-right:18px}.work-card{min-width:86vw;min-height:480px}.leadership-item{grid-template-columns:1fr;gap:8px}.case-sidebar{position:static}.footer-grid{display:block}.footer-grid h2{font-size:44px}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.case-content h2{font-size:42px}.metric-grid{grid-template-columns:1fr 1fr}.role-grid{grid-template-columns:1fr}.case-meta .chip{font-size:12px}}
.case-meta{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 6px}
.case-meta .chip{border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:13px;background:var(--surface);color:var(--text)}
.case-meta .chip b{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:7px;font-weight:600}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:26px 0 8px}
.metric{border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--surface)}
.metric .num{font-family:var(--serif);font-size:clamp(40px,5vw,58px);line-height:1;letter-spacing:-.02em;color:var(--text)}
.metric .num span{color:var(--accent)}
.metric .lbl{margin-top:12px;font-size:13px;color:var(--muted);line-height:1.45}
.case-figure{margin:28px 0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--surface)}
.case-figure .ph{aspect-ratio:16/9;display:grid;place-items:center;text-align:center;padding:26px;background:linear-gradient(135deg,var(--surface-2),color-mix(in srgb,var(--accent) 16%,var(--surface)));color:var(--muted);font-family:var(--mono);font-size:13px;line-height:1.5}
.case-figure .ph span{display:block;max-width:420px}
.case-figure figcaption{padding:14px 18px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}
.case-figure img{width:100%;height:auto;display:block;background:var(--surface-2)}
.case-figure-strip{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;margin:28px 0;scrollbar-width:thin}
.case-figure-strip .case-figure{flex:0 0 min(78%,520px);margin:0;scroll-snap-align:start}
.case-figure-strip .case-figure figcaption{font-size:12px}
@media (max-width:860px){.case-figure-strip .case-figure{flex-basis:88%}}
.figure-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.figure-row .case-figure{margin:0}
.note{border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface));padding:14px 16px;border-radius:0 12px 12px 0;margin:20px 0;font-size:14px;color:var(--text);line-height:1.55}
.note b{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);display:block;margin-bottom:6px}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}
.role-grid .info-card h3{font-size:18px;margin:0 0 12px}.role-grid .info-card ul{margin:0;padding-left:18px}.role-grid .info-card li{font-size:14px;color:var(--muted);line-height:1.5;margin-bottom:6px}.role-grid .info-card li:last-child{margin-bottom:0}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.tag-row .tag{border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:12px;color:var(--muted)}
.case-grid{display:grid;gap:18px;margin:22px 0}
.case-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.case-grid .info-card h3{margin:0 0 10px}.case-grid .info-card p{margin:0}.case-grid .info-card ul{margin:0;padding-left:18px}
.case-grid .info-card li{font-size:14px;color:var(--muted);line-height:1.5;margin-bottom:6px}
.case-tag{display:inline-flex;border-radius:999px;padding:6px 10px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.journey{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px}
.journey-step{border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--muted);background:var(--surface)}
.journey-step.bad{border-color:#ffd3d3;background:#fff7f7;color:#9a2727}
.journey-step.good{border-color:#ccebdc;background:#f6fffa;color:#12673c}
.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.decision-grid .info-card p{font-size:14px;color:var(--muted);margin:0 0 10px}
.decision-grid .info-card p b{color:var(--text)}
.case-table{width:100%;border-collapse:collapse;margin:22px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.case-table th,.case-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:14px}
.case-table th{background:var(--surface-2);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.case-table tr:last-child td{border-bottom:0}
.note.is-guide{border-left-style:dashed;border-color:color-mix(in srgb,var(--accent) 70%,var(--line));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.note.is-assumption{border-left-color:#d4a24a;background:#fffaf2}
.note.is-assumption b{color:#a76b12}
.case-content h3{font-size:20px;margin:28px 0 12px}
.experience-item{margin:34px 0 10px}
.experience-item>p{font-size:16px;color:var(--muted);max-width:720px;margin:0 0 18px}
.experience-item .case-figure,.experience-item .case-figure-strip{margin-top:0}
@media (max-width:860px){.figure-row{grid-template-columns:1fr}.case-grid.two,.case-grid.three,.case-grid.four,.decision-grid{grid-template-columns:1fr}}
