/* Shared visual language: wide aerial frames, lime viewfinder corners, open rows. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.parent-brand{display:flex;justify-content:flex-end;padding-top:10px;line-height:1.2}
.parent-brand a{font-size:12px;color:var(--muted);text-decoration:none}
.parent-brand a:hover{text-decoration:underline;color:var(--ink)}
.header-inner{min-height:84px;gap:24px}
.brand img{width:235px;height:63px;object-fit:contain}
.header nav{gap:25px;font-size:14px}
.header nav>a[aria-current=page]{text-decoration:none;box-shadow:0 3px 0 var(--lime);padding-block:9px}
.button{border-radius:28px}
.button.small{min-height:43px;padding:11px 23px}
.immersive-hero{padding-top:43px;padding-bottom:38px}
.hero-intro{display:grid;grid-template-columns:1.8fr 1fr;gap:65px;align-items:center;margin-bottom:40px}
.hero-intro h1{font-size:clamp(45px,4.75vw,73px);line-height:1.04;letter-spacing:-.055em;font-weight:700;max-width:960px}
.hero-summary p{font-size:clamp(18px,1.55vw,24px);line-height:1.5;color:#2f3933}
.hero-summary .actions{margin-top:22px;gap:30px}
.hero-summary .underlined{font-size:17px;font-weight:600;white-space:nowrap}
.immersive-figure{margin:0;min-width:0}
.viewfinder{position:relative;overflow:hidden;border:1px solid #36473c;border-radius:36px 10px 36px 10px;background:#15231e;isolation:isolate}
.panorama-stage{height:clamp(330px,29vw,450px);position:relative;overflow:hidden;outline-offset:-5px;touch-action:pan-y}
.panorama-stage .panorama-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}
.panorama-stage[data-ready=true]>.panorama-fallback{display:none}
.frame-corner{position:absolute;z-index:2;pointer-events:none;width:17px;height:17px;border-color:var(--lime);border-style:solid;border-width:0;opacity:.88}
.corner-tl{top:23px;left:23px;border-top-width:2px;border-left-width:2px}
.corner-tr{top:23px;right:23px;border-top-width:2px;border-right-width:2px}
.corner-bl{bottom:23px;left:23px;border-bottom-width:2px;border-left-width:2px}
.corner-br{bottom:23px;right:23px;border-bottom-width:2px;border-right-width:2px}
.viewer-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px 0;color:var(--muted);font-size:12px;min-height:54px}
.panorama-credit{display:flex;align-items:center;gap:18px;flex-wrap:wrap;line-height:1.5}
.panorama-credit strong{font-size:14px;font-weight:600;color:var(--ink)}
.panorama-credit>span{border-left:1px solid var(--line);padding-left:18px;font-size:11px}
.viewer-hint{font-size:11px;white-space:nowrap}
.panorama-controls{display:flex;gap:7px;align-items:center;flex-shrink:0}
.panorama-controls button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #c6cec5;border-radius:22px;background:transparent;padding:8px 13px;min-height:35px;line-height:1.2;font-size:11px;color:var(--ink)}
.panorama-controls button:hover{background:var(--lime);border-color:var(--lime)}
.panorama-controls button>span{font-size:18px}
.panorama-controls button[data-view^=zoom]{width:34px;padding:0;font-size:19px}
.immersive-figure:fullscreen{display:flex;flex-direction:column;padding:18px;background:var(--paper)}
.immersive-figure:fullscreen .viewfinder{flex:1;min-height:0}
.immersive-figure:fullscreen .panorama-stage{height:100%}
.immersive-figure:fullscreen .viewer-caption{padding-bottom:10px}
.pnlm-container{font-family:Arial,Helvetica,sans-serif;background:#15231e}
.pnlm-load-box{border-radius:12px;font-family:inherit}
.pnlm-about-msg{font-size:12px}
.projects-preview{padding-top:38px;padding-bottom:50px}
.projects-preview h2{font-size:clamp(28px,3.3vw,45px)}
.project-preview-row{display:grid;grid-template-columns:1fr auto 24px;align-items:center;gap:24px;text-decoration:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;font-size:20px;font-weight:500}
.project-preview-row small{font-size:12px;color:var(--muted);font-weight:400}
.project-preview-row:hover{color:#4c641c}
.mini-map,.full-demo{border-radius:28px 8px 28px 8px;overflow:hidden;border:1px solid var(--line)}
.projects-intro{padding-top:48px;padding-bottom:30px}
.projects-intro h1{font-size:clamp(40px,4.8vw,72px);font-weight:700;letter-spacing:-.055em}
.projects-intro .lead{font-size:clamp(19px,1.75vw,25px);margin-top:18px;max-width:none}
.project-library{padding-bottom:58px}
.project-filters{display:flex;gap:35px;border-bottom:1px solid var(--line);margin-bottom:26px}
.project-filters button{color:var(--muted);border:0;border-bottom:3px solid transparent;background:transparent;padding:16px 4px 13px;font-size:16px;white-space:nowrap}
.project-filters button[aria-pressed=true]{border-bottom-color:var(--lime);color:var(--ink)}
.project-filters button:hover{color:var(--ink)}
.project-entry{margin-bottom:52px;scroll-margin-top:25px}
.project-entry:last-child{margin-bottom:0}
.project-entry .panorama-stage{height:clamp(310px,28vw,420px)}
.project-entry .viewer-caption{padding:12px 4px 0}
.project-entry .panorama-credit{display:none}
.project-info{display:grid;grid-template-columns:40% 60%;gap:0;margin-top:28px;align-items:start}
.project-info h2{font-size:clamp(28px,2.5vw,39px);letter-spacing:-.04em;padding-right:35px}
.project-info>div{border-left:1px solid var(--line);padding-left:40px}
.project-info p{font-size:16px;max-width:750px;line-height:1.6}
.project-info .project-type{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink);margin-top:13px}
.project-empty{padding:55px 0 65px;border-bottom:1px solid var(--line)}
.project-empty h2{font-size:30px;margin-bottom:16px}
.project-empty p{font-size:17px;max-width:600px}
.film-stage{position:relative;aspect-ratio:16/9;border-radius:36px 10px 36px 10px;overflow:hidden;background:#14231c;color:var(--paper);display:grid;place-items:center;border:1px solid #354b3c}
.film-stage>iframe{position:absolute;inset:0;height:100%}
.film-load{border:0;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;gap:18px;max-width:80%;cursor:pointer;font-size:18px;text-align:center}
.film-play-icon{width:72px;height:72px;border:1px solid #879d87;border-radius:50%;display:grid;place-items:center;font-size:25px;padding-left:4px;color:var(--lime)}
.film-load:hover .film-play-icon{background:var(--lime);color:var(--ink)}
.film-privacy-note{font-size:12px;margin-top:12px}
.film-privacy-note a{margin-left:14px}
.studio-intro{padding-top:40px;padding-bottom:30px}
.studio-intro h1{font-size:clamp(42px,5vw,70px)}
.studio-intro .back-link{margin-bottom:18px}
.studio-intro .lead{font-size:23px;margin-top:20px}
.studio-content{padding-bottom:70px}
.studio-heading{border-top:1px solid var(--line);padding-top:28px;display:flex;gap:30px;align-items:center;margin-bottom:25px}
.studio-heading h2{font-size:30px;margin-right:auto}
.media-form{max-width:1050px}
.media-form label,.studio-login label{display:block;font-size:14px;font-weight:500}
.media-form input:not([type=checkbox]):not([type=hidden]),.media-form select,.media-form textarea,.studio-login input{display:block;width:100%;border:1px solid #bcc5ba;border-radius:8px;background:#fafbf5;color:var(--ink);padding:12px 14px;margin-top:8px;margin-bottom:22px;min-height:48px;font-size:15px}
.media-form input[type=file]{padding:10px!important}
.media-form input[type=file]::file-selector-button{background:#e5ebda;border:0;border-radius:5px;padding:8px 13px;margin-right:15px;color:var(--ink);cursor:pointer}
.form-columns{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
.media-form .form-note{font-weight:400;font-size:12px}
.media-form textarea{resize:vertical}
.editor-options{display:flex;flex-direction:column;gap:15px;padding-block:10px 24px}
.editor-options>label:first-child{max-width:350px}
.editor-options select{margin-bottom:0}
.editor-options label.check-option{display:flex;gap:10px;align-items:center;font-weight:400}
.editor-options input[type=checkbox]{accent-color:#5d781f;width:17px;height:17px;margin:0;flex-shrink:0}
.optional{color:var(--muted);font-weight:400}
.media-form .actions{align-items:center}
.media-form .actions .form-note{margin:0;max-width:600px}
.studio-records{border-top:1px solid var(--line);margin-top:48px;padding-top:34px}
.studio-records h2{font-size:32px}
.studio-record{border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto auto;gap:25px;align-items:center;padding:20px 0}
.studio-record h3{font-size:21px;letter-spacing:-.025em}
.studio-record p{font-size:12px;margin-top:5px}
.studio-record button{border:1px solid #aab8a4;background:transparent;color:var(--ink);border-radius:20px;padding:8px 18px;font-size:13px}
.record-state{font-size:12px;color:var(--muted)}
.record-state.public{color:#3c6224}
.studio-login{max-width:480px;padding-top:15px}
.studio-login h2{font-size:27px;margin-bottom:25px}
.studio-login .form-note{margin-top:15px}
button:disabled{opacity:.5;cursor:wait;transform:none}
@media(max-width:1200px){.header nav{gap:17px;font-size:13px}.header-inner{gap:20px}.brand img{width:210px}.hero-intro{gap:38px;grid-template-columns:1.65fr 1fr}.hero-intro h1{font-size:5vw}.hero-summary .underlined{font-size:15px}.hero-summary .actions{gap:20px}.viewer-caption{padding-inline:6px;gap:12px}.panorama-credit{gap:10px}.panorama-credit>span{padding-left:10px}.viewer-hint{font-size:10px}.panorama-controls button{padding-inline:10px}.panorama-controls{gap:5px}}
@media(max-width:980px){.hero-intro{grid-template-columns:1fr}.hero-intro h1{font-size:clamp(46px,6.9vw,68px)}.hero-summary{display:flex;align-items:center;gap:35px}.hero-summary p{max-width:490px;font-size:19px}.hero-summary .actions{margin:0;min-width:145px;gap:8px}.panorama-credit>span{border:0;padding-left:0}.panorama-credit{gap:1px;flex-direction:column;align-items:start}.panorama-stage{height:350px}.header nav{gap:14px}.brand img{width:185px}.header nav .button{font-size:12px;padding-inline:15px}.header-inner{gap:14px}.project-info{grid-template-columns:42% 58%}}
@media(max-width:820px){.header-inner{min-height:76px}.brand img{width:222px;height:58px}.header nav{font-size:16px;gap:5px}.header nav .button{font-size:15px}.header nav>a[aria-current=page]{box-shadow:none;color:#4f681d;text-decoration:underline}.parent-brand{padding-top:9px}.parent-brand a{font-size:11px}.hero-intro{gap:23px;margin-bottom:28px}.hero-intro h1{font-size:clamp(42px,7.2vw,58px)}.hero-summary{display:block}.hero-summary p{max-width:620px;font-size:20px}.hero-summary .actions{margin-top:20px;gap:26px}.hero-summary .underlined{font-size:16px}.immersive-hero{padding-top:30px;padding-bottom:29px}.panorama-stage{height:310px}.viewfinder{border-radius:28px 8px 28px 8px}.viewer-caption{flex-wrap:wrap;padding-top:13px;gap:12px}.panorama-credit{flex-direction:row;gap:13px;flex:1 0 100%;align-items:center}.panorama-credit>span{border-left:1px solid var(--line);padding-left:13px}.panorama-controls{margin-left:auto}.viewer-hint{font-size:11px}.project-entry .viewer-caption .viewer-hint{max-width:none}.projects-intro{padding-top:36px;padding-bottom:20px}.projects-intro h1{font-size:clamp(39px,6.7vw,57px)}.projects-intro .lead{font-size:21px;margin-top:17px}.project-entry .panorama-stage{height:310px}.project-info{grid-template-columns:1fr;gap:17px;margin-top:23px}.project-info h2{font-size:30px}.project-info>div{border:0;padding:0}.project-info p{font-size:15px}.projects-preview{padding-top:29px;padding-bottom:35px}.projects-preview .section-heading{gap:15px}.project-preview-row{font-size:18px;gap:15px}.project-preview-row small{font-size:11px}.studio-intro .lead{font-size:21px}.studio-heading{gap:18px}.studio-heading h2{font-size:26px}.film-stage{border-radius:28px 8px 28px 8px}.studio-record{gap:15px}.studio-record h3{font-size:18px}}
@media(max-width:480px){.brand img{width:196px;height:55px}.header-inner{min-height:70px}.parent-brand a{font-size:10px}.hero-intro h1{font-size:10.1vw;line-height:1.07}.hero-intro h1 br{display:none}.hero-summary p{font-size:18px;line-height:1.5}.hero-summary .actions{gap:23px}.panorama-stage,.project-entry .panorama-stage{height:225px}.viewfinder{border-radius:23px 7px 23px 7px}.frame-corner{width:12px;height:12px}.corner-tl,.corner-tr{top:16px}.corner-bl,.corner-br{bottom:16px}.corner-tl,.corner-bl{left:16px}.corner-tr,.corner-br{right:16px}.panorama-controls{gap:4px}.panorama-controls button{font-size:10px;padding:8px 10px;min-height:34px}.panorama-controls button[data-view^=zoom]{width:32px;font-size:18px}.viewer-caption{padding-inline:0}.panorama-credit strong{font-size:12px}.panorama-credit>span{font-size:10px}.viewer-hint{font-size:10px;flex:1 0 100%}.panorama-controls{margin:0;justify-content:flex-end;width:100%}.project-entry .viewer-caption{gap:9px}.project-entry .viewer-hint{flex:1;font-size:10px}.project-entry .panorama-controls{width:auto}.project-entry .panorama-controls button[data-view^=zoom]{display:none}.project-filters{gap:20px;overflow-x:auto;margin-bottom:20px}.project-filters button{font-size:14px;padding:14px 0 11px}.projects-intro h1{font-size:39px}.projects-intro .lead{font-size:18px}.project-info h2{font-size:28px}.project-preview-row{grid-template-columns:1fr 20px}.project-preview-row small{grid-column:1;grid-row:2}.project-preview-row>span:last-child{grid-column:2;grid-row:1/3}.projects-preview h2{font-size:29px}.form-columns{grid-template-columns:1fr}.studio-heading{flex-wrap:wrap}.studio-heading h2{flex-basis:100%}.studio-record{grid-template-columns:1fr auto}.record-state{grid-column:1;grid-row:2}.studio-record button{grid-column:2;grid-row:1/3}.studio-records h2{font-size:28px}.film-play-icon{width:55px;height:55px;font-size:20px}.film-load{font-size:15px;gap:10px}.film-privacy-note a{margin-left:0;display:block;margin-top:8px}}
@media print{.parent-brand,.panorama-controls,.viewer-hint,.project-filters,.studio-content{display:none!important}.panorama-stage,.project-entry .panorama-stage{height:220px}.viewfinder{border-radius:15px}.hero-intro{display:block}.hero-intro h1{font-size:30pt}.hero-summary p{font-size:12pt}.hero-summary .actions{display:none}.project-info{display:block}.project-info>div{border:0;padding:15px 0}.immersive-figure{break-inside:avoid}.film-stage{height:200px}.studio-intro .caption{display:none}}
