/* Four primary pages. Project case studies remain under Architecture. */
:root { --studio-teal:#3d7374; --studio-clay:#bd7455; }
.studio-header { position:relative; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px var(--gutter); }
.studio-brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:14px; font-weight:750; white-space:nowrap; }
.studio-brand i { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:var(--ink); color:var(--bg); font-size:12px; font-style:normal; letter-spacing:.03em; }
.studio-header nav { display:flex; gap:3px; padding:5px; border:1px solid var(--line); border-radius:99px; background:var(--glass); backdrop-filter:blur(14px); }
.studio-header nav a { display:flex; align-items:center; justify-content:center; min-height:38px; padding:5px 17px; border-radius:99px; font-size:12px; font-weight:700; text-decoration:none; color:var(--ink-2); }
.studio-header nav a:hover { color:var(--ink); background:rgba(255,255,255,.6); }
.studio-header nav a[aria-current] { background:var(--ink); color:var(--bg); }
.studio-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px var(--gutter); border-top:1px solid var(--line); color:var(--ink-2); font-size:11px; }
.studio-footer a { text-decoration:none; font-weight:700; }.studio-footer a:last-child { color:var(--ink); }
.studio-page { padding:50px 0 75px; }
.studio-title { font-family:var(--serif); font-weight:400; font-size:clamp(54px,8vw,110px); line-height:.95; letter-spacing:-.035em; }
.studio-title em { font-weight:400; color:var(--studio-teal); }
.page-intro { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:42px; }
.page-intro .eyebrow { margin-bottom:22px; }.page-intro>p { max-width:35ch; color:var(--ink-2); font-size:14px; }
.studio-link { display:inline-flex; align-items:center; gap:40px; color:var(--ink); font-size:13px; font-weight:700; text-decoration:none; padding-bottom:7px; border-bottom:1px solid var(--ink); }
.home-page { background:#f3eee8; }
.home-hero { position:relative; min-height:min(830px,calc(100svh - 88px)); display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; padding:45px var(--gutter) 100px; max-width:1640px; margin:auto; }
.home-copy { position:relative; z-index:2; pointer-events:none; padding-bottom:45px; }
.home-copy .eyebrow { font-size:10px; letter-spacing:.16em; }
.home-copy h1 { margin-top:28px; font-family:var(--serif); font-size:clamp(72px,8.4vw,132px); font-weight:400; line-height:.88; letter-spacing:-.045em; }
.home-copy h1 em { font-weight:400; color:var(--studio-teal); }.home-copy p { max-width:32ch; font-size:14px; color:var(--ink-2); margin:28px 0; line-height:1.85; }
.home-copy a { pointer-events:auto; }.home-copy .btn { font-size:12px; min-height:49px; padding:0 23px; }.home-copy .btn span { margin-left:28px; }
.spatial-viewport { position:absolute; width:66%; right:0; top:5px; bottom:95px; cursor:grab; touch-action:pan-y; }
.spatial-viewport:active { cursor:grabbing; }.spatial-viewport canvas { width:100%;height:100%; position:absolute; inset:0; }
.spatial-fallback { position:absolute; width:100%;height:100%;object-fit:contain; transition:opacity .4s; }.spatial-viewport.ready .spatial-fallback { opacity:0; }
.spatial-index { position:absolute; right:var(--gutter); top:50px; display:flex; gap:12px; color:var(--ink-3); font-size:10px; letter-spacing:.14em; writing-mode:vertical-rl; text-transform:uppercase; pointer-events:none; }
.home-instrument { position:absolute; bottom:28px; left:var(--gutter); right:var(--gutter); border-top:1px solid var(--line); padding-top:20px; display:grid; grid-template-columns:1fr 1fr auto; gap:30px; align-items:center; z-index:4; }
.instrument-note { display:flex; gap:14px; align-items:center; }.instrument-note .number { border:1px solid var(--line); border-radius:50%; width:34px; height:34px; display:grid;place-items:center;font-size:10px; }
.instrument-note b { display:block; font-size:11px; font-weight:700; }.instrument-note small { font-size:10px; color:var(--ink-2); }
.instrument-modes { display:flex; justify-self:center; gap:3px; background:#e8e1d8; padding:5px; border-radius:99px; }
.instrument-modes button { min-width:77px; min-height:38px; padding:6px 17px; border:0; border-radius:99px; font-size:11px; font-weight:700; background:transparent; cursor:pointer; }.instrument-modes button[aria-pressed=true] { background:var(--surface);box-shadow:0 3px 9px #3f2d1c16; }
.turn-tools { display:flex; align-items:center; gap:12px; }.turn-tools p { font-size:10px;color:var(--ink-2); }.turn-tools button { width:37px;height:37px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;font-size:14px; }
.home-routes { border-top:1px solid var(--line); padding:70px var(--gutter) 76px; display:grid;grid-template-columns:1.15fr 1fr; gap:70px;max-width:1640px;margin:auto; }
.route-intro .eyebrow {font-size:10px;}.route-intro h2 {font-family:var(--serif);font-size:clamp(38px,4.2vw,64px);font-weight:400;line-height:1.04;max-width:15ch;margin:22px 0 16px;}.route-intro>p {color:var(--ink-2);font-size:13px;max-width:43ch;}
.route-list {display:flex;flex-direction:column;}.route {display:grid;grid-template-columns:30px 1fr 30px;gap:18px;padding:27px 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:center;align-content:start;}.route:first-child{border-top:1px solid var(--line);}.route small {font-size:10px;color:var(--ink-3);}.route b {font-size:20px;font-weight:500;letter-spacing:-.03em;}.route p {font-size:11px;color:var(--ink-2);margin-top:6px;}.route>span {font-size:25px;transition:transform .3s;}.route:hover>span{transform:translate(3px,-3px);}.route:hover b{color:var(--studio-teal);}
.map-page .map-shell { height:min(65svh,650px); min-height:410px; }
.map-page .map-caption {display:flex;justify-content:space-between;gap:20px;margin:15px 0 48px;font-size:11px;color:var(--ink-2);}.map-page .map-caption span:last-child {text-align:right;max-width:48ch;}
.place-selector{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 22px;}.place-selector button{font-size:12px;}
.map-browse {display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid var(--line);padding-top:32px;}.map-browse h2 {font-family:var(--serif);font-size:42px;font-weight:400;}.map-browse>div>p {font-size:12px;color:var(--ink-2);margin-top:12px;max-width:30ch;}
.map-projects{display:grid;gap:0;}.map-project{display:grid;grid-template-columns:110px 1fr 24px;gap:22px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);text-decoration:none;}.map-project img{width:110px;height:75px;object-fit:cover;border-radius:12px;}.map-project b{display:block;font-size:17px;font-weight:600;}.map-project span{display:block;font-size:11px;color:var(--ink-2);margin-top:5px;}.map-project>i{font-style:normal;font-size:22px;}
.about-intro {display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center;padding:30px 0 80px;}.about-intro .eyebrow{font-size:11px;margin-bottom:28px;}.about-lede{font-size:17px;line-height:1.8;max-width:46ch;margin:30px 0 24px;color:var(--ink-2);}.about-intro .studio-title{font-size:clamp(67px,8.5vw,120px);}.about-meta{font-size:11px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:22px;}
.about-monogram {aspect-ratio:1;max-width:400px;display:grid;place-items:center;position:relative;color:var(--studio-teal);perspective:600px;}
.monogram-ring{position:absolute;inset:7%;border:1px solid #3d737439;border-radius:50%;transform:rotateX(53deg) rotateZ(-25deg);}.monogram-ring:nth-child(2){inset:16%;transform:rotateY(48deg) rotateZ(25deg);}.monogram-ring:nth-child(3){inset:0;transform:rotateX(-48deg) rotateY(20deg);}.about-monogram>b{font-family:var(--serif);font-weight:400;font-size:clamp(90px,13vw,185px);letter-spacing:-.08em;filter:drop-shadow(5px 15px 4px #17363813);}.about-monogram>small{position:absolute;bottom:0;font-size:9px;letter-spacing:.15em;color:var(--ink-2);}
.about-practice{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:40px 0 55px;border-top:1px solid var(--line);}.about-practice h2{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;}.about-practice p{font-size:15px;color:var(--ink-2);line-height:1.9;max-width:58ch;}.practice-tools{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:22px 0 0;}.practice-tools li{font-size:10px;border:1px solid var(--line);padding:6px 13px;border-radius:99px;}
.contact-section{border-top:1px solid var(--line);padding-top:50px;display:grid;grid-template-columns:1fr 1fr;gap:80px;}.contact-section h2{font-family:var(--serif);font-size:clamp(45px,5.5vw,75px);font-weight:400;}.contact-section h2 em{color:var(--studio-teal);font-weight:400;}.contact-section p{font-size:13px;color:var(--ink-2);max-width:37ch;margin:22px 0;}.contact-email {font-size:clamp(14px,1.6vw,20px);font-weight:600;text-underline-offset:7px;overflow-wrap:anywhere;}.email-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}.copy-email{border:1px solid var(--line);padding:8px 13px;min-height:37px;border-radius:99px;background:transparent;font-size:10px;cursor:pointer;}.contact-form{display:grid;gap:16px;}.contact-form label{font-size:11px;font-weight:700;display:grid;gap:7px;}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);padding:13px 15px;border-radius:12px;background:#fbf8f480;color:var(--ink);font:400 13px var(--font);}.contact-form textarea{resize:vertical;min-height:104px;}.contact-form .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px;}.contact-form .btn{justify-content:space-between;font-size:12px;}.contact-form .form-note{font-size:10px;margin:0;max-width:100%;}.contact-status{font-size:11px;min-height:18px;color:var(--studio-teal);}
@media(min-width:1600px){.home-hero{min-height:850px;}}
@media(max-width:1000px){.home-hero{grid-template-columns:1fr 1fr;}.home-copy h1{font-size:85px;}.home-instrument{grid-template-columns:1fr auto;}.turn-tools p{display:none;}.home-routes{gap:45px;}.studio-header nav a{padding:5px 12px;}.contact-section{gap:40px;}}
@media(max-width:700px){
 .studio-header{padding:15px 18px;display:grid;gap:16px;}.studio-brand{font-size:12px;}.studio-brand i{width:32px;height:32px;font-size:11px;}.studio-header nav{justify-content:space-between;width:100%;}.studio-header nav a{font-size:10px;padding:5px 11px;min-height:36px;}.studio-header nav a:last-child{padding:5px 13px;}
 .home-hero{min-height:810px;display:flex;flex-direction:column;align-items:stretch;padding:28px 22px 165px;}.home-copy{padding:0;}.home-copy h1{font-size:clamp(65px,17.5vw,95px);line-height:.9;margin-top:20px;}.home-copy .eyebrow{font-size:8px;}.home-copy p{font-size:12px;max-width:33ch;margin:20px 0;}.home-copy .btn{font-size:11px;min-height:43px;}.spatial-viewport{width:100%;top:315px;bottom:130px;}.spatial-index{top:340px;right:20px;font-size:8px;}.home-instrument{left:22px;right:22px;bottom:24px;grid-template-columns:1fr auto;gap:17px;}.instrument-modes{justify-self:start;grid-column:1;grid-row:1;}.instrument-modes button{min-width:67px;font-size:10px;padding:6px 12px;}.instrument-note{grid-column:1;grid-row:2;gap:10px;}.instrument-note .number{width:26px;height:26px;font-size:9px;}.instrument-note b{font-size:10px;}.instrument-note small{font-size:9px;}.turn-tools{grid-row:1 / 3;grid-column:2;}.turn-tools button{width:32px;height:32px;}.home-routes{padding:50px 22px;grid-template-columns:1fr;gap:30px;}.route-intro h2{font-size:43px;}.route{padding:22px 0;}.route b{font-size:19px;}
 .studio-footer{padding:23px 20px;font-size:10px;flex-wrap:wrap;}.studio-footer>span{display:none;}.studio-page{padding:30px 0 55px;}.page-intro{display:block;margin-bottom:28px;}.page-intro>p{margin-top:25px;font-size:12px;max-width:40ch;}.page-intro .eyebrow{font-size:10px;}.studio-title{font-size:65px;}.map-page .map-shell{height:440px;min-height:0;}.map-page .map-caption{font-size:9px;flex-direction:column;gap:8px;margin-bottom:35px;}.map-page .map-caption span:last-child{text-align:left;}.map-hint{font-size:10px;}.map-browse{grid-template-columns:1fr;gap:20px;}.map-browse h2{font-size:36px;}.map-browse>div>p{max-width:none;}.map-project{grid-template-columns:85px 1fr 20px;gap:14px;}.map-project img{width:85px;height:65px;}.map-project b{font-size:14px;}.map-project span{font-size:10px;}
 .about-intro{grid-template-columns:1fr;gap:20px;padding:5px 0 40px;}.about-intro .studio-title{font-size:75px;}.about-lede{font-size:14px;margin:25px 0;}.about-monogram{display:none;}.about-meta{font-size:10px;gap:14px;}.about-practice{grid-template-columns:1fr;gap:23px;padding:32px 0 40px;}.about-practice p{font-size:13px;}.contact-section{grid-template-columns:1fr;gap:35px;padding-top:35px;}.contact-section h2{font-size:55px;}.contact-form .form-pair{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{transition-duration:.01ms!important;}}
