:root{--violet:#c5b0ed;--muted:#a9a1b5}.header{background:#0c0a12dd;border-radius:16px;border-color:#ffffff10}.header nav{font-size:13px;gap:25px}.button{border-radius:8px;font-size:14px;padding:15px 22px}.button.small{padding:11px 16px;font-size:13px}.hero{padding-top:100px;min-height:780px}.hero h1{font-size:clamp(44px,5.4vw,76px);letter-spacing:-3px;max-width:1100px;line-height:1.16}.hero h1 em{font-size:1.15em}.hero .intro{font-size:18px;margin-top:25px}.hero .eyebrow{letter-spacing:3px;font-size:12px;color:#b9a9cc}.hero-actions{margin-top:32px}.hero-bottom{margin-top:160px}.glow{animation-duration:8s;box-shadow:none}.latest-card{border-radius:14px;background:linear-gradient(110deg,#191220,#100d16);border-color:#bba0ff22}.latest-review blockquote{font:400 14px/1.8 'DM Sans',sans-serif}.section{padding-top:120px;padding-bottom:35px}.kicker{font-size:12px;letter-spacing:2px}h2{font-size:46px;line-height:1.2}.section-top>p{font-size:16px;max-width:350px}.expertise-list{margin-top:50px}.expertise-row{display:grid;grid-template-columns:60px 1fr 1.1fr;gap:25px;padding:35px 0;border-top:1px solid var(--line);align-items:baseline;transition:border-color .3s}.expertise-row:last-child{border-bottom:1px solid var(--line)}.expertise-row:hover{border-color:#bba0ff55}.expertise-row>span{font-size:13px;color:#92829e}.expertise-row h3{font-size:29px;letter-spacing:-1px;margin:0}.expertise-row p{margin:0 0 14px;color:#b6adbf;font-size:16px;line-height:1.8}.expertise-row small{font-size:12px;color:#9f90b0}.approach{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach>div>p{color:#b6adbf;line-height:1.9;max-width:430px}.approach h2{margin-bottom:27px}.approach-note{font-size:14px;border-left:1px solid #bba0ff55;padding-left:20px;margin-top:30px}.approach-steps{list-style:none;padding:0;margin:0}.approach-steps li{display:flex;gap:27px;padding:21px 0;border-bottom:1px solid var(--line)}.approach-steps li:first-child{padding-top:0}.approach-steps li>span{font-size:12px;color:var(--violet);padding-top:5px}.approach-steps h3{font-size:20px;margin:0 0 7px}.approach-steps p{font-size:15px;color:var(--muted);margin:0;line-height:1.8}.studio-section{background:#0e0b14;margin-top:80px;padding:75px 0}.studio-art{height:430px;border-radius:14px}.studio-copy p{font-size:16px}.application-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-bottom:120px}.application-intro>p{color:#b6adbf;max-width:420px;line-height:1.8;margin-top:26px}.application-aside{max-width:390px;margin-top:45px;border-top:1px solid var(--line);padding-top:25px}.application-aside h3{font-size:18px;margin-top:0}.application-aside p{font-size:14px;color:var(--muted);line-height:1.8}.application-form{border:1px solid #bba0ff29;background:linear-gradient(150deg,#1a1323,#0f0c15);border-radius:16px;padding:34px;align-self:start;min-width:0}.form-progress{display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1.5px;color:var(--violet);margin-bottom:30px}fieldset{border:0;padding:0;margin:0;min-width:0}fieldset[hidden]{display:none}legend{font-family:Manrope,sans-serif;font-size:23px;line-height:1.4;letter-spacing:-.5px;margin-bottom:25px;width:100%}.application-form label{display:block;font-size:14px;color:#ded7e9;margin-bottom:21px}.application-form label>span{font-size:12px;color:#a49aad}.application-form input:not([type=checkbox]),.application-form textarea,.application-form select{width:100%;display:block;padding:12px 13px;border:1px solid #ffffff20;border-radius:6px;background:#0c0911;color:#eee7f7;margin-top:9px;font-size:16px;min-width:0;outline-offset:3px}.application-form input:focus,.application-form textarea:focus,.application-form select:focus{outline:1px solid var(--violet);border-color:var(--violet)}.application-form textarea{resize:vertical}.application-form input::placeholder,.application-form textarea::placeholder{color:#9b8ba9;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:20px}.form-actions .plain{font-size:14px;padding:8px 0;text-decoration:underline;text-underline-offset:5px}.form-next{width:100%}.form-actions .form-next{width:auto}.form-privacy,.form-note{font-size:12px;color:#a89ab3;line-height:1.7;margin:24px 0 0}.form-privacy .plain{color:#bca8d6;text-decoration:underline;text-underline-offset:3px}.form-note a{overflow-wrap:anywhere;color:#c8b4e2}.form-explanation{font-size:15px;color:var(--muted);margin:0 0 22px}.application-form .check-label{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.check-label input{accent-color:#bba0ff;width:17px;height:17px;flex-shrink:0;margin-top:3px}.application-form .check-label span{font-size:13px}.application-form #application-summary{font-size:14px;line-height:1.7;min-height:240px}.application-form #send-application{width:100%}#application-status{font-size:13px;color:var(--violet)}.reveal-pending{opacity:0;transform:translateY(18px)}.reveal-active{transition:opacity .8s ease,transform .8s ease;opacity:1;transform:translateY(0)}@media(max-width:1050px){.header nav{gap:16px;font-size:12px}.header .button.small{font-size:12px;padding:11px 12px}.approach,.application-section{gap:45px}.application-form{padding:25px}.expertise-row{grid-template-columns:35px 1fr 1.1fr;gap:20px}}@media(max-width:760px){.header nav{display:none}.hero{padding-top:85px;min-height:730px}.hero h1{font-size:clamp(38px,7.6vw,57px);letter-spacing:-1.8px}.hero .intro{font-size:16px;max-width:340px;margin-inline:auto}.hero .eyebrow{font-size:10px;letter-spacing:2px}.hero-bottom{margin-top:160px}.hero-actions{gap:22px}.hero .button{padding:14px 20px}.section{padding-top:80px}.section-top>p{font-size:15px}.expertise-row{grid-template-columns:30px 1fr;gap:15px;padding:28px 0}.expertise-row>div{grid-column:2}.expertise-row h3{font-size:25px}.expertise-row p{font-size:15px}.approach,.application-section{grid-template-columns:1fr;gap:35px}.approach>div>p{max-width:none}.approach-steps{padding-top:12px}.studio-section{margin-top:55px;padding:55px 0}.studio-art{height:330px}.application-aside{margin-top:25px;max-width:none}.application-section{padding-bottom:70px}.application-form{padding:24px}.application-intro>p{max-width:none}h2{font-size:37px}.form-grid{grid-template-columns:1fr;gap:0}.latest-project h3{font-size:16px}.latest-project p{font-size:11px}.latest .button.small{padding:10px 12px;font-size:12px}.header .button.small{max-width:150px;font-size:11px}.application-form legend{font-size:22px}}@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.reveal-active{transition:none}}

/* Mobile refinement: compact rhythm, reliable vector icons, and comfortable touch targets. */
.mobile-menu{display:none}
.arrow-icon{width:15px;height:15px;flex:none;display:block}
.rating-stars{display:inline-flex;gap:2px;align-items:center;color:var(--violet)}
.rating-stars svg{width:14px;height:14px;display:block;fill:currentColor}
@media(max-width:700px){
  html{scroll-padding-top:78px}
  .wrap{padding-inline:20px}
  .header{position:relative;width:calc(100% - 24px);height:64px;margin-top:8px;padding:0 12px;gap:10px;border-radius:15px}
  .header .brand{gap:7px;font-size:22px;letter-spacing:-1px;white-space:nowrap}
  .header .brand img{width:32px;height:32px}
  .header .brand .studio{font-size:8px;letter-spacing:3.5px;margin-top:5px}
  .header nav{display:none}
  .header>.button{margin-left:auto;max-width:none;padding:10px 12px;gap:8px;font-size:12px;white-space:nowrap}
  .header>.button span{display:block}
  .mobile-menu{display:block;position:relative;order:3;flex:none}
  .mobile-menu summary{list-style:none;display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff20;border-radius:11px;color:#eee7f7;cursor:pointer}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary svg{width:18px;height:18px}
  .mobile-menu[open] summary{border-color:#bba0ff66;color:var(--violet)}
  .mobile-menu nav{display:grid;position:absolute;top:47px;right:0;min-width:190px;gap:0;padding:7px;border:1px solid #bba0ff30;border-radius:14px;background:#120e19;box-shadow:0 16px 40px #0008}
  .mobile-menu nav a{padding:12px;border-radius:8px;font-size:14px;color:#e7e0ef}
  .mobile-menu nav a:active{background:#bba0ff18}
  .hero{min-height:0;padding-top:64px;padding-bottom:30px;background-position:58% bottom}
  .hero h1{max-width:100%;font-size:clamp(2rem,8.7vw,2.6rem);line-height:1.15;letter-spacing:-1.5px;margin:25px auto 17px}
  .hero h1 em{font-size:1.08em;letter-spacing:-.7px}
  .hero .eyebrow{font-size:10px;letter-spacing:1.4px}
  .hero .intro{max-width:34rem;font-size:15px;line-height:1.7;margin:0 auto}
  .hero .intro br{display:none}
  .hero-actions{gap:15px;margin-top:24px}
  .hero .button{min-height:48px;padding:12px 16px;font-size:13px}
  .hero .text-link{font-size:13px}
  .hero-bottom{margin-top:clamp(62px,19vw,92px);padding-top:16px;gap:14px;font-size:11px;text-align:left}
  .hero-bottom span:first-child{max-width:60%}
  .hero-bottom span:last-child{font-size:9px;letter-spacing:1.2px;white-space:nowrap}
  .latest{padding-top:18px}
  .latest-card{gap:0;padding:17px;border-radius:13px}
  .latest-project{grid-template-columns:38px minmax(0,1fr);gap:10px}
  .latest-icon{width:38px;height:38px;border-radius:11px}
  .latest-project h2{font-size:11px}
  .latest-project h3{font-size:16px;line-height:1.35}
  .latest-project p{font-size:12px}
  .latest-link{grid-column:2;justify-self:start;margin-top:11px;min-height:42px;padding:9px 13px!important;font-size:13px!important}
  .latest-review{margin-top:15px;padding-top:14px}
  .latest-review figcaption{flex-wrap:wrap;gap:8px 12px;font-size:13px}
  .review-rating{gap:7px;letter-spacing:0;font-size:12px}
  .rating-stars svg{width:13px;height:13px}
  .latest-review blockquote{font-size:14px;line-height:1.65;margin-top:8px}
  .section{padding-top:68px;padding-bottom:20px}
  .section-top{margin-bottom:25px}
  .section-top>p{font-size:15px;line-height:1.7}
  .kicker{font-size:10px;letter-spacing:1.5px}
  h2{font-size:clamp(2rem,8vw,2.35rem);line-height:1.2;letter-spacing:-1.2px}
  .expertise-list{margin-top:28px}
  .expertise-row{grid-template-columns:26px minmax(0,1fr);gap:10px;padding:21px 0}
  .expertise-row>span{font-size:12px}
  .expertise-row h3{font-size:21px;line-height:1.3}
  .expertise-row>div{grid-column:2;min-width:0}
  .expertise-row p{font-size:15px;line-height:1.7}
  .expertise-row small{font-size:12px;line-height:1.6;display:block}
  .approach{gap:24px}
  .approach h2{margin-bottom:18px}
  .approach>div>p{font-size:15px;line-height:1.75}
  .approach-steps{padding-top:0}
  .approach-steps li{gap:15px;padding:16px 0}
  .approach-steps h3{font-size:18px}
  .approach-steps p{font-size:14px;line-height:1.65}
  .studio-section{margin-top:35px;padding:40px 0}
  .studio-grid{gap:26px}
  .studio-art{height:270px;border-radius:13px}
  .studio-art>span{top:23px;left:22px;font-size:33px;letter-spacing:3px}
  .studio-art i{font-size:22px}
  .studio-copy h2{margin-bottom:18px}
  .studio-copy p{font-size:15px;line-height:1.75}
  .studio-sign{font-size:12px;line-height:1.5}
  .application-section{gap:25px;padding-bottom:58px}
  .application-intro>p{font-size:15px;line-height:1.7;margin-top:16px}
  .application-aside{margin-top:20px;padding-top:17px}
  .application-aside h3{font-size:17px}
  .application-aside p{font-size:14px;line-height:1.65}
  .application-form{padding:18px;border-radius:14px}
  .form-progress{font-size:10px;letter-spacing:1px;margin-bottom:21px}
  .application-form legend{font-size:21px;margin-bottom:19px}
  .application-form label{font-size:14px;margin-bottom:17px}
  .application-form input:not([type=checkbox]),.application-form textarea,.application-form select{min-height:48px;padding:12px;border-radius:8px;font-size:16px}
  .application-form textarea{min-height:110px}
  .form-actions{gap:12px}
  .form-actions .button{min-height:46px;padding:10px 12px;font-size:12px}
  .form-privacy,.form-note{font-size:12px;line-height:1.6}
  footer{gap:16px;padding-top:25px!important;padding-bottom:25px!important}
  footer>span{font-size:12px}
  footer>div{gap:14px;font-size:13px}
  footer small{width:100%}
  dialog{padding:36px 22px;border-radius:17px}
  dialog h2{font-size:30px}
  dialog p{font-size:15px;line-height:1.7}
}
@media(max-width:370px){
  .wrap{padding-inline:16px}
  .header{width:calc(100% - 16px);padding-inline:9px;gap:7px}
  .header .brand{font-size:20px;gap:5px}
  .header .brand img{width:29px;height:29px}
  .header>.button{font-size:11px;padding:9px 10px}
  .mobile-menu summary{width:35px;height:35px}
  .hero h1{font-size:1.95rem;letter-spacing:-1.3px}
  .hero-actions{flex-direction:column;gap:13px}
  .hero .button{width:100%}
  .hero-bottom{margin-top:60px}
  .latest-card{padding:14px}
  .application-form{padding:15px}
  .form-actions .form-next{font-size:11px}
}
.button .button-label{font-size:inherit;line-height:1.25}
@media(max-width:700px){footer>div>a{display:inline-flex;align-items:center;gap:7px}}
