*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#f5f4f0;color:#282923;font-family:Arial,"Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header,main,footer{max-width:1600px;margin:auto;padding-left:5.4%;padding-right:5.4%}header{height:112px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:23px;letter-spacing:4px}.brand span{display:block;font-size:8px;letter-spacing:2.5px;margin-top:8px}nav{display:flex;gap:34px;font-size:12px}nav a:hover{color:#9a5738}.intro{padding:65px 0 76px}.eyebrow{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px;color:#78796e}h1{font-weight:400;font-size:clamp(54px,6.8vw,108px);line-height:1.28;letter-spacing:-3px;margin:48px 0 38px}h1>span{color:#96978b}.intro-bottom{display:flex;justify-content:space-between;align-items:flex-end}.intro-bottom p{font-size:14px;line-height:1.9;margin:0;color:#707167}.intro-bottom a{font-size:12px;display:flex;gap:50px}.section-heading{border-top:1px solid #c9c9be;padding:26px 0 20px;display:flex;justify-content:space-between;align-items:center}.section-heading h2{font-size:15px;font-weight:400;margin:0}.section-heading h2 span{font-size:11px;color:#898a7d;margin-left:14px}.section-heading>span{font-size:10px;color:#7b7d71}.filters{display:flex;gap:23px;margin:9px 0 30px}.filters button{background:none;border:0;padding:6px 0;font-size:11px;color:#7a7b70;border-bottom:1px solid transparent}.filters button.active{color:#282923;border-color:#282923}.filters sup{font-size:8px;margin-left:4px}.grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px 30px}.project{display:block;text-align:left;border:0;padding:0;background:none;width:100%}.project[hidden]{display:none}.art{display:block;width:100%;aspect-ratio:1.3;overflow:hidden;background:#e6e3da}.project:nth-child(2) .art{background:#e0e2dc}.project:nth-child(3) .art{background:#deded4}.project:nth-child(4) .art{background:#e6e1d8}.art svg{width:100%;height:100%;transition:transform .6s}.project:hover .art svg{transform:scale(1.035)}.caption{display:flex;justify-content:space-between;gap:15px;margin-top:17px}.caption h3{font-size:16px;font-weight:400;margin:0 0 6px}.caption p{font-size:10px;letter-spacing:.5px;color:#7b7b70;margin:0}.caption>span{font-size:18px}.demo-note{font-size:10px;color:#8c8c80;line-height:1.8;margin:28px 0 0}.about{border-top:1px solid #c9c9be;margin-top:105px;padding:55px 0 85px;display:grid;grid-template-columns:1fr 1.3fr;gap:40px}.section-label{font-size:10px;letter-spacing:1px;color:#77796b}.about h2{font-size:clamp(26px,3.2vw,44px);line-height:1.6;font-weight:400;margin:0 0 30px}.about p{font-size:13px;line-height:2;max-width:460px}.muted{color:#8a8a7d}.disciplines{display:flex;flex-wrap:wrap;gap:22px;font-size:10px;margin-top:32px}.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:15px 0 90px}.notes article{border-bottom:1px solid #cecec3;padding:24px 0 30px}.notes article>span,.notes small{font-size:9px;color:#88897b;letter-spacing:1px}.notes h3{font-size:18px;font-weight:400;margin:33px 0 17px}.notes p{font-size:12px;color:#77786d;line-height:1.8}.notes small{display:block;margin-top:26px;letter-spacing:0}.contact{border-top:1px solid #c9c9be;padding:40px 0 85px}.contact h2{font-size:clamp(32px,4.7vw,65px);font-weight:400;line-height:1.5;margin:35px 0}.contact p,.contact a{font-size:12px}.contact a{display:inline-block;margin-top:24px;border-bottom:1px solid #7f8072;padding-bottom:7px}footer{border-top:1px solid #c9c9be;display:flex;justify-content:space-between;gap:15px;padding-top:25px;padding-bottom:30px;font-size:9px;color:#808174}dialog{width:min(1000px,94vw);max-height:92vh;border:0;background:#f5f4f0;padding:32px;color:#282923}dialog::backdrop{background:#2227;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-bottom:30px}.dialog-top button{border:0;background:none;padding:10px}.detail-title{font-weight:400;font-size:38px;margin:15px 0}.detail-meta{font-size:12px;color:#7a7b70;margin-bottom:25px}.detail-art{aspect-ratio:1.8;background:#e6e3da}.detail-art svg{width:100%;height:100%}.detail-copy{max-width:650px;margin:35px auto}.detail-copy h3{font-size:16px;font-weight:400}.detail-copy p{font-size:13px;line-height:2;color:#77786d}button:focus-visible,a:focus-visible{outline:2px solid #9a5738;outline-offset:5px}@media(max-width:650px){header{height:90px}.brand{font-size:18px}.brand span{font-size:6px}nav{gap:15px;font-size:11px}.intro{padding:35px 0 50px}.eyebrow{font-size:8px;letter-spacing:.5px}h1{letter-spacing:-2px;margin-top:40px}.intro-bottom p{font-size:12px}.intro-bottom a{gap:14px;font-size:10px}.grid{grid-template-columns:1fr;gap:35px}.art{aspect-ratio:1.25}.about{grid-template-columns:1fr;margin-top:65px;padding:30px 0 50px;gap:25px}.notes{grid-template-columns:1fr;gap:0;margin-bottom:60px}.notes h3{margin-top:22px}.notes article{padding-bottom:25px}.contact{padding-bottom:55px}footer{flex-wrap:wrap;font-size:8px}dialog{padding:20px}.detail-title{font-size:29px}.detail-art{aspect-ratio:1.25}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art svg{transition:none}}
/* English typography and the compact bilingual control. */
.language-switch{display:flex;align-items:center;gap:8px;font-size:10px;margin-left:26px;white-space:nowrap}.language-switch button{border:0;background:none;padding:8px 2px;color:#96978b}.language-switch button[aria-pressed="true"]{color:#282923;text-decoration:underline;text-underline-offset:5px}.language-switch>span{color:#b7b8ae}header nav{margin-left:auto}html[lang="en-AU"] .brand{font-size:21px;letter-spacing:-.6px}html[lang="en-AU"] h1{font-size:clamp(48px,6.8vw,102px);letter-spacing:-4px;line-height:1.16}html[lang="en-AU"] .intro-bottom p{max-width:440px}html[lang="en-AU"] .about h2{line-height:1.25;letter-spacing:-1px}html[lang="en-AU"] .contact h2{line-height:1.2;letter-spacing:-2px}@media(max-width:650px){header{flex-wrap:wrap;height:auto;min-height:105px;padding-top:20px;padding-bottom:14px;gap:17px}html[lang="en-AU"] .brand{font-size:18px}.language-switch{margin-left:auto}header nav{order:3;width:100%;margin:0;justify-content:space-between}html[lang="en-AU"] h1{font-size:clamp(35px,8.4vw,54px);letter-spacing:-1.7px}.intro-bottom{gap:20px;align-items:flex-start}html[lang="en-AU"] .intro-bottom p{max-width:64%;font-size:11px}.intro-bottom a{max-width:32%;line-height:1.6}.filters{gap:18px}.filters button{font-size:10px}.eyebrow{gap:15px}.eyebrow span:last-child{text-align:right}html[lang="en-AU"] .contact h2{letter-spacing:-1px}}
/* KS Design brand identity and interaction accents. */
:root{--accent:#cfb77f}
.brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:0}
.brand-logo{display:block;width:76px;height:auto;object-fit:contain}
::selection{background:var(--accent);color:#282923}
nav a:hover,a:active,.intro-bottom a:hover,.contact a:hover,footer a:hover,.dialog-top button:hover,.dialog-top button:active{color:var(--accent)}
.filters button.active{color:#282923;border-color:var(--accent);box-shadow:0 1px 0 var(--accent)}
.filters button:hover{border-color:var(--accent)}
.language-switch button[aria-pressed="true"]{color:#282923;text-decoration-color:var(--accent);text-decoration-thickness:2px}
.language-switch button:hover,.language-switch button:active{color:var(--accent)}
.project:hover .caption>span,.project:active .caption>span{color:var(--accent)}
.project:active .art{outline:2px solid var(--accent);outline-offset:-2px}
.contact a:hover{border-color:var(--accent)}
button:focus-visible,a:focus-visible{outline-color:var(--accent)}
@media(max-width:650px){.brand-logo{width:60px}}
/* Real project imagery, video cover and progressive project narrative. */
.art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.project:hover .art img{transform:scale(1.035)}
.project-film{position:relative;width:100%;aspect-ratio:16/9;background:#20211e}
.project-film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-caption{display:flex;justify-content:space-between;gap:16px;margin-top:14px;font-size:11px;color:#77786d}
.film-caption a{border-bottom:1px solid var(--accent);padding-bottom:4px}
.film-caption a:hover{color:var(--accent)}
.film-help{font-size:10px;color:#88897b;line-height:1.8}
.project-overview{margin:35px 0}
.project-overview img{display:block;width:100%;height:auto}
.project-overview figcaption{font-size:10px;color:#88897b;margin-top:12px}
.detail-copy section+section{margin-top:36px}
.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal-ready.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none;transition:none}.art img{transition:none}}
/* The Tetries / a continuous editorial case study. */
dialog.case-study{width:min(1280px,96vw);padding:32px 48px;max-height:94vh;scroll-behavior:smooth}
.case-study .dialog-top{position:sticky;top:-32px;z-index:3;background:#f5f4f0;padding:18px 0;margin-top:-18px;border-bottom:1px solid #d7d6cb}
.case-intro{padding:28px 0 34px}.case-kicker{font-size:10px;letter-spacing:1.8px;color:#7b7d70}.case-intro h2{font-size:clamp(48px,7vw,92px);font-weight:400;letter-spacing:-4px;line-height:1.05;margin:28px 0 18px}.case-subtitle{font-size:clamp(17px,2.4vw,28px);color:#898b7f;line-height:1.5;margin:0 0 38px}.case-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid #cecec2;padding-top:22px}.case-facts span{font-size:9px;letter-spacing:1px;color:#818375}.case-facts p{font-size:12px;line-height:1.7;margin:9px 0 0}
.case-index{display:flex;flex-wrap:wrap;gap:25px;padding:25px 0 13px;margin:22px 0 0;border-top:1px solid #cecec2}.case-index button,.case-ending button{border:0;background:none;font-size:11px;padding:8px 0;border-bottom:1px solid transparent}.case-index button:hover,.case-ending button:hover{border-color:var(--accent)}
.case-section{padding:62px 0 0;scroll-margin-top:80px}.case-heading{display:grid;grid-template-columns:80px 1fr;gap:20px;border-top:1px solid #cecec2;padding-top:28px}.case-number{font-size:12px;color:#a18a57;padding-top:9px}.case-heading h3{font-size:clamp(27px,3.7vw,46px);font-weight:400;letter-spacing:-1.3px;line-height:1.25;margin:0 0 12px}.case-heading p{font-size:9px;color:#8a8c7c;letter-spacing:1.5px;margin:0}.case-text{max-width:680px;margin:35px auto 44px}.case-text p{font-size:14px;line-height:1.95;color:#737569}.case-text .case-lead{font-size:22px;color:#34362f;line-height:1.55;margin-bottom:22px}
.case-figure{margin:28px 0 40px}.case-figure img{display:block;width:100%;height:auto;background:#eeede7}.case-figure figcaption{font-size:10px;line-height:1.8;color:#818375;margin-top:13px}.case-principles{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin:45px 0 10px}.case-principles article{border-top:1px solid #cecec2;padding-top:22px}.case-principles span{font-size:9px;letter-spacing:1px;color:#8b7950}.case-principles h4{font-size:25px;font-weight:400;margin:23px 0 12px}.case-principles p{font-size:13px;line-height:1.9;color:#77796a}.case-pair{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:start}.case-pair .case-figure{margin-top:0}.case-pair>div .case-figure{margin-bottom:24px}.case-space{display:grid;grid-template-columns:2.1fr 1fr;gap:26px;align-items:start}.case-ending{padding:65px 0 50px;margin-top:45px;border-top:1px solid #cecec2}.case-ending>span{font-size:10px;letter-spacing:1px;color:#8d8e80}.case-ending h3{font-size:clamp(30px,4.5vw,56px);font-weight:400;letter-spacing:-1.5px;line-height:1.2;margin:28px 0}.case-ending p{font-size:12px;color:#808272;line-height:1.9}.case-ending button{border-color:var(--accent);margin-top:20px}
@media(max-width:650px){dialog.case-study{padding:22px 20px;width:96vw}.case-study .dialog-top{top:-22px}.case-intro{padding-top:12px}.case-intro h2{letter-spacing:-2px}.case-facts{grid-template-columns:1fr 1fr;gap:18px}.case-facts p{font-size:11px}.case-index{gap:16px}.case-index button{font-size:10px}.case-heading{grid-template-columns:28px 1fr;gap:12px}.case-section{padding-top:40px}.case-heading h3{letter-spacing:-.7px}.case-text{margin:27px 0}.case-text p{font-size:13px}.case-text .case-lead{font-size:20px}.case-principles{gap:20px}.case-principles h4{font-size:20px}.case-principles p{font-size:12px}.case-pair,.case-space{grid-template-columns:1fr;gap:0}.case-space .case-figure:last-child{max-width:75%;margin-left:auto;margin-right:auto}.case-ending{padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){dialog.case-study{scroll-behavior:auto}}
/* YI / work, dining and the space between. */
.yi-character{font-size:.48em;vertical-align:middle;color:var(--accent);margin-left:.35em;font-weight:300}
.yi-film{width:100%;aspect-ratio:16/9;background:#dfdfe0}
.yi-film video{display:block;width:100%;height:100%;object-fit:contain}
.yi-mode-list{margin-top:25px}.yi-mode{display:grid;grid-template-columns:1.8fr 1fr;align-items:center;gap:40px;margin-bottom:45px}.yi-mode>div>img{width:100%;height:auto;display:block}.yi-mode-copy>span{font-size:11px;color:#a18a57}.yi-mode h4{font-size:27px;line-height:1.3;font-weight:400;letter-spacing:-.7px;margin:20px 0 16px}.yi-mode p,.yi-details p{font-size:13px;line-height:1.9;color:#737569}.yi-details{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px;margin-top:40px}.yi-details img{display:block;width:100%;height:auto}.yi-details h4{font-size:22px;font-weight:400;line-height:1.3;margin:22px 0 12px}.yi-details p{margin-bottom:10px}
@media(max-width:650px){.yi-mode{grid-template-columns:1fr;gap:15px;margin-bottom:35px}.yi-mode-copy{padding:0 5px}.yi-mode h4{font-size:23px;margin-top:12px}.yi-details{grid-template-columns:1fr;gap:28px}.yi-details h4{font-size:21px}.yi-mode p,.yi-details p{font-size:13px}}
/* YI review: artwork-aligned overview copy and centred mode images. */
.yi-main-stage{position:relative;background:#d7d9dc}
.yi-main-copy{position:absolute;left:5%;top:50%;transform:translateY(-50%);width:33%;max-width:360px}
.yi-main-copy>span{font-size:9px;letter-spacing:1.4px;color:#6c705f}
.yi-main-copy h4{font-size:clamp(22px,3vw,38px);font-weight:400;letter-spacing:-1px;line-height:1.2;margin:22px 0 18px}
.yi-main-copy p{font-size:13px;line-height:1.85;color:#5e6257;margin:0}
.yi-mode>div:first-child{aspect-ratio:1/1;overflow:hidden;background:#d8dade}
.yi-mode>div:first-child>img{width:100%;height:100%;object-fit:cover;object-position:100% 50%}
.project[data-id="yi"] .art img{object-position:70% 50%}
@media(max-width:850px){.yi-main-copy{position:static;transform:none;width:auto;max-width:none;padding:26px}.yi-main-copy h4{font-size:29px}.yi-main-copy p{max-width:480px}.yi-main-stage>img{width:100%}.yi-main-copy>span{font-size:9px}}
/* SHAN / layered forms and a documented physical model. */
.shan-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}
.shan-development{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}
.shan-development h4{font-size:26px;font-weight:400;line-height:1.35;margin:20px 0}
.shan-development p{font-size:13px;line-height:1.9;color:#737569}
.shan-prototypes{display:grid;grid-template-columns:.8fr 1.8fr;gap:25px;align-items:start}
.project[data-id="shan"] .art{background:#222}
.project[data-id="shan"] .art img{object-position:50% 55%}
@media(max-width:650px){.shan-pair,.shan-development,.shan-prototypes{grid-template-columns:1fr;gap:0}.shan-development h4{font-size:23px}.shan-prototypes>.case-figure:first-child{max-width:80%;margin-left:auto;margin-right:auto}}
/* Consistent project grid and a continuous, left-moving project preview. */
#projects.grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#projects .project{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;min-width:0;text-align:left}
#projects .art{width:100%;aspect-ratio:4/3;flex:none;position:relative}
#projects .art>img,#projects .art>svg{display:block;width:100%;height:100%;object-fit:cover}
#projects .caption{width:100%;align-items:flex-start}
#projects .caption>span:first-child{min-width:0}
#projects .caption p{line-height:1.7}
.reel-shell{margin:0 0 35px;padding-bottom:28px;border-bottom:1px solid #d5d5c9}
.reel-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:2px 0 17px}
.reel-controls>span{font-size:9px;letter-spacing:1.4px;color:#818375}
.reel-controls button{background:none;border:0;border-bottom:1px solid var(--accent);font-size:10px;padding:5px 0;color:#6c6e61}
.reel-controls button:hover{color:#282923}
.project-reel{overflow:hidden;width:100%;padding-bottom:6px}
.reel-track{display:flex;width:max-content}
.reel-group{display:flex;flex-shrink:0;gap:22px;padding-right:22px;animation:projects-left 38s linear infinite}
.reel-card{display:block;width:clamp(225px,28vw,370px);flex-shrink:0}
.reel-image{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#deded4}
.reel-image img,.reel-image svg{display:block;width:100%;height:100%;object-fit:cover}
.reel-card[href="#project-yi"] .reel-image img{object-position:70% 50%}
.reel-caption{display:flex;justify-content:space-between;margin-top:12px;font-size:12px}
.reel-card:hover .reel-caption>span:last-child{color:var(--accent)}
.project-reel:hover .reel-group,.project-reel:focus-within .reel-group,.project-reel.is-paused .reel-group{animation-play-state:paused}
@keyframes projects-left{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media(max-width:650px){#projects.grid{grid-template-columns:minmax(0,1fr)}.reel-card{width:68vw}.reel-group{gap:16px;padding-right:16px}.reel-shell{margin-bottom:23px}.reel-controls>span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.project-reel{overflow-x:auto}.reel-group{animation:none}.reel-group[aria-hidden="true"]{display:none}#reel-pause{display:none}}
/* A restrained circular showcase, adapted to KS Design's editorial palette. */
.project-reel.circular-showcase{overflow:hidden;padding:0 0 8px;isolation:isolate}
.circular-showcase .orbit-stage{position:relative;width:100%;height:clamp(300px,38vw,445px);perspective:1500px;overflow:hidden;touch-action:pan-y;cursor:grab}
.circular-showcase .orbit-stage:active{cursor:grabbing}
.orbit-guide{position:absolute;left:12%;right:12%;bottom:24px;height:48px;border:1px solid #cfb77f44;border-top-color:transparent;border-radius:50%;pointer-events:none}
.orbit-card{position:absolute;top:47%;left:50%;display:block;width:clamp(220px,34vw,390px);will-change:transform,opacity;transform-origin:center;user-select:none;-webkit-user-select:none;backface-visibility:hidden}
.orbit-image{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#dfdfd6;box-shadow:0 12px 30px #3030250c}
.orbit-image img,.orbit-image svg{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.orbit-card[href="#project-yi"] img{object-position:70% 50%}
.orbit-card-name{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.3px;padding-top:11px;color:#77796d}
.orbit-card-name>span{color:#a58c53}
.orbit-card.is-front .orbit-image{outline:1px solid #cfb77f88;outline-offset:4px}
.orbit-card:focus-visible{outline:2px solid var(--accent);outline-offset:8px}
.orbit-footer{display:flex;align-items:center;justify-content:center;gap:45px;position:relative;z-index:102;margin-top:8px}
.orbit-caption{width:290px;text-align:center;min-height:88px}
.orbit-title{font-size:22px;font-weight:400;letter-spacing:-.5px}
.orbit-title:hover{color:#9d844c}
.orbit-subtitle{font-size:10px;color:#838576;line-height:1.7;margin:8px 0 13px}
.orbit-pagination{display:flex;align-items:center;justify-content:center;gap:16px}
.orbit-count{font-size:9px;letter-spacing:1px;color:#8a8c7c;font-variant-numeric:tabular-nums}
.orbit-dots{display:flex;gap:9px}
.orbit-dots button{width:18px;height:18px;position:relative;background:none;border:0;padding:0}
.orbit-dots button:after{content:'';position:absolute;inset:6px;border-radius:50%;background:#c8c9bd}
.orbit-dots button[aria-pressed="true"]:after{background:var(--accent)}
.orbit-arrow{border:1px solid #cecec0;background:none;width:36px;height:36px;border-radius:50%;font-size:16px;padding:0;flex-shrink:0}
.orbit-arrow:hover{background:var(--accent);border-color:var(--accent)}
.orbit-hint{font-size:9px;color:#969889;text-align:center;letter-spacing:.4px;margin:18px 0 0}
@media(max-width:650px){.circular-showcase .orbit-stage{height:300px}.orbit-card{width:220px}.orbit-footer{gap:16px}.orbit-caption{width:210px}.orbit-title{font-size:20px}.orbit-subtitle{font-size:9px}.orbit-arrow{width:32px;height:32px}.orbit-guide{left:5%;right:5%;bottom:14px}.orbit-hint{font-size:8px}}
@media(prefers-reduced-motion:reduce){.project-reel.circular-showcase{overflow:hidden}.orbit-card{will-change:auto}}
#projects .project[hidden]{display:none}
/* Narrower orbit, stronger foreground/background size contrast. */
#project-reel.circular-showcase{width:88%;max-width:900px;margin-left:auto;margin-right:auto}
.circular-showcase .orbit-stage{height:clamp(320px,38vw,445px)}
@media(max-width:650px){#project-reel.circular-showcase{width:100%}.circular-showcase .orbit-stage{height:300px}}
/* Moodpet / a speculative future, drawn in the language of the portfolio. */
.mood-film{aspect-ratio:16/9;background:#172229}.mood-film video{display:block;width:100%;height:100%;object-fit:contain}
.mood-credentials{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;border-top:1px solid #cecec2;border-bottom:1px solid #cecec2;padding:28px 0;margin-top:35px;align-items:center}.mood-event{display:flex;align-items:center;gap:25px}.mood-event>img{width:150px;height:auto;max-height:65px;object-fit:contain}.mood-event p{font-size:12px;line-height:1.7;margin:0}.mood-event strong{display:block;font-weight:400}.mood-event p>span{display:block;font-size:10px;color:#838576;margin-top:5px}.mood-sdg>span{font-size:9px;letter-spacing:1px;color:#8c7951}.mood-sdg p{font-size:11px;margin:10px 0 0}.mood-sdg b{font-weight:400;display:inline-block;border:1px solid var(--accent);padding:4px 6px;margin-right:9px;font-size:9px}
.mood-scenario-note{font-size:12px;color:#838576;line-height:1.9;margin:27px 0}.mood-timeline{list-style:none;padding:0;margin:40px auto 0;max-width:800px;position:relative}.mood-timeline:before{content:'';position:absolute;left:110px;top:16px;bottom:35px;width:1px;background:#cfb77f88}.mood-timeline li{display:grid;grid-template-columns:90px 1fr;gap:50px;padding-bottom:32px;position:relative}.mood-timeline li:before{content:'';position:absolute;width:7px;height:7px;background:var(--accent);border-radius:50%;left:107px;top:10px}.timeline-year{font-size:26px;font-variant-numeric:tabular-nums;color:#938054}.mood-timeline h4{font-size:18px;font-weight:400;margin:4px 0 10px}.mood-timeline p{font-size:12px;line-height:1.8;color:#7b7e70;margin:0}.mood-timeline li:last-child .timeline-year{color:#282923}
.mood-persona{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;align-items:center;margin-top:40px}.mood-persona-image{height:620px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(ellipse at center,#e7e4d9 0%,#f5f4f0 70%)}.mood-persona-image img{display:block;max-height:100%;max-width:100%;object-fit:contain}.mood-persona-copy h4{font-size:clamp(30px,3.9vw,50px);font-weight:400;letter-spacing:-1.5px;line-height:1.2;margin:22px 0 27px}.mood-persona-copy p,.mood-persona-copy li{font-size:13px;line-height:1.9;color:#777b6c}.mood-persona-copy ul{padding-left:17px;margin-top:25px}.mood-persona-copy li{margin-bottom:12px}
.mood-experiences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:35px}.mood-experiences img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.mood-experiences article>span{display:block;font-size:10px;color:#9c875a;margin-top:22px}.mood-experiences h4{font-size:21px;font-weight:400;line-height:1.3;margin:14px 0}.mood-experiences p{font-size:12px;line-height:1.9;color:#7a7d6f}.mood-product-family{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:40px 0}.mood-product-family figure{margin:0}.mood-product-family img{display:block;width:100%;aspect-ratio:1.1;object-fit:contain;background:white}.mood-product-family figcaption{font-size:10px;line-height:1.8;color:#858879;margin-top:12px}
.mood-sequence{position:relative;height:calc(var(--mood-view,600px)*10);margin:35px 0 45px;--mood-view:600px}.mood-sequence-sticky{position:sticky;top:78px;height:var(--mood-view);min-height:340px;background:#292c2d;color:#f0f1e9;padding:22px 25px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.mood-seq-heading{display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1px;color:#cfb77f;margin-bottom:15px}.mood-seq-heading>span:last-child{color:#9aacae}.mood-seq-layout{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(190px,1fr);gap:25px;align-items:center;flex:1;min-height:0}.mood-visual{position:relative;width:100%;aspect-ratio:16/9;isolation:isolate}.mood-visual canvas{display:block;width:100%;height:100%;background:url('assets/moodpet/frames/000.webp') center/contain no-repeat}.mood-tech-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none}.mood-pin{position:absolute;transform:translate(-50%,-50%);background:#cfb77f;color:#222b2b;border-radius:50%;width:25px;height:25px;display:flex;align-items:center;justify-content:center;font-size:9px;box-shadow:0 0 0 5px #cfb77f26;opacity:0;pointer-events:none;transition:left .2s,top .2s}.mood-callout>span{font-size:10px;letter-spacing:1px;color:#cfb77f}.mood-callout h4{font-size:clamp(19px,2.2vw,28px);line-height:1.25;font-weight:400;margin:20px 0 15px}.mood-callout p{font-size:12px;line-height:1.8;color:#b1bebd;margin:0}.mood-seq-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0 13px}.mood-seq-controls button{border:0;border-bottom:1px solid #cfb77f77;background:none;font-size:10px;padding:6px 0;color:#e8eae2}.mood-seq-controls button:hover{color:var(--accent)}.mood-seq-controls label{display:flex;align-items:center;gap:10px;font-size:9px;color:#b7bfba}.mood-seq-controls input{width:110px;accent-color:var(--accent)}.mood-progress{height:1px;background:#646e6a}.mood-progress>span{display:block;height:2px;background:var(--accent);width:0}.mood-seq-note{font-size:9px;color:#8f9f9b;margin:13px 0 0;line-height:1.7}.mood-reference{border-top:1px solid #cecec2;border-bottom:1px solid #cecec2;padding:20px 0;margin-top:20px}.mood-reference summary{font-size:12px;cursor:pointer}.mood-reference>img,.mood-reference-image img{display:block;width:100%;height:auto;background:#292c2d;margin-top:25px}.mood-reference h4{font-size:23px;font-weight:400}.mood-reference ol{columns:2;column-gap:45px;padding-left:23px}.mood-reference li{break-inside:avoid;margin-bottom:22px;font-size:12px;line-height:1.9}.mood-reference strong{font-weight:400}.mood-reference p{color:#7b7f70}.mood-sequence.is-reduced{height:auto}.mood-sequence.is-reduced .mood-sequence-sticky{position:relative;top:0;height:auto;min-height:400px}.mood-sequence.is-reduced .mood-seq-controls,.mood-sequence.is-reduced .mood-progress{display:none}
@media(max-width:850px){.mood-credentials{grid-template-columns:1fr;gap:25px}.mood-persona{gap:25px}.mood-persona-image{height:530px}.mood-seq-layout{grid-template-columns:1fr;gap:10px;flex:none}.mood-visual{max-height:42%;width:100%}.mood-callout{min-height:125px}.mood-callout h4{font-size:21px;margin:10px 0}.mood-callout p{font-size:11px}.mood-sequence-sticky{padding:17px 18px;justify-content:space-between}.mood-seq-controls label{display:none}}
@media(max-width:650px){.mood-event{gap:17px}.mood-event>img{width:115px}.mood-event p{font-size:11px}.mood-timeline:before{left:79px}.mood-timeline li{grid-template-columns:60px 1fr;gap:42px}.mood-timeline li:before{left:76px}.timeline-year{font-size:22px}.mood-timeline h4{font-size:17px}.mood-persona{grid-template-columns:1fr;gap:25px}.mood-persona-image{height:440px}.mood-persona-copy h4{font-size:37px}.mood-experiences{grid-template-columns:1fr;gap:30px}.mood-experiences h4{font-size:22px}.mood-product-family{grid-template-columns:1fr 1fr}.mood-seq-heading{font-size:8px;margin-bottom:8px}.mood-sequence-sticky{padding:15px 13px;top:70px}.mood-callout{min-height:137px}.mood-callout h4{font-size:20px}.mood-callout p{font-size:10px;line-height:1.7}.mood-seq-note{font-size:8px}.mood-reference ol{columns:1}.mood-seq-controls{margin:10px 0}.mood-seq-controls button{font-size:9px}.mood-pin{width:20px;height:20px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.mood-sequence{height:auto}.mood-sequence-sticky{position:relative;top:0;height:auto;min-height:400px}.mood-pin{transition:none}}
@media(max-height:650px){.mood-sequence-sticky{min-height:0;padding:12px 14px}.mood-seq-layout{grid-template-columns:minmax(0,1.7fr) minmax(140px,1fr);gap:15px;flex:1}.mood-callout{min-height:0}.mood-callout h4{font-size:17px;margin:10px 0}.mood-callout p{font-size:10px;line-height:1.6}.mood-callout>span{font-size:9px}.mood-seq-controls{margin:8px 0}.mood-seq-note{font-size:8px;margin-top:7px}.mood-seq-heading{margin-bottom:7px;font-size:8px}.mood-seq-controls label{display:none}}
/* Moodpet review: transparent family, registered technology view and true stage positions. */
.mood-product-family figure{text-align:center}
.mood-product-family img{background:transparent;object-fit:contain}
.mood-product-family figcaption{text-align:center}
.mood-visual .mood-tech-image{inset:auto;left:9.375%;top:7.8%;width:83.55%;height:88.24%;object-fit:fill}
.mood-seq-controls{display:block;margin:20px 0 0;position:relative}
.mood-stage-labels{position:relative;width:100%;height:32px}
.mood-stage-labels button{position:absolute;top:0;white-space:nowrap;margin:0;border:0;padding:4px 0;color:#97a6a2;font-size:10px;text-align:left}
.mood-stage-labels button:nth-child(1){left:0}.mood-stage-labels button:nth-child(2){left:42%}.mood-stage-labels button:nth-child(3){left:74%}
.mood-stage-labels button[aria-current="step"]{color:var(--accent)}
.mood-progress{position:relative;width:100%;height:2px}
.mood-stage-tick{position:absolute;top:-4px;width:1px;height:10px;background:#9ba59b}
.mood-seq-controls .mood-scrubber{display:flex;align-items:center;justify-content:flex-end;margin-top:13px;gap:12px;font-size:9px;color:#9fada7}
.mood-seq-controls .mood-scrubber input{width:130px}
.mood-tech-detail{margin:15px 0 0;display:flex;justify-content:center;align-items:center;width:100%;height:140px}
.mood-tech-detail[hidden]{display:none}
.mood-tech-detail img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.mood-tech-closeups{margin:35px 0}.mood-tech-closeups>h4{font-size:25px;font-weight:400;margin:0 0 28px}.mood-tech-closeups>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.mood-tech-closeups figure{margin:0;text-align:center}.mood-tech-closeups img{display:block;width:100%;aspect-ratio:1.4;object-fit:contain;background:#292c2d}.mood-tech-closeups figcaption{font-size:11px;color:#7b7f70;margin-top:15px;line-height:1.8}
@media(max-width:850px){.mood-tech-detail{height:90px;float:right;width:36%;margin:8px 0 0 15px}.mood-callout:after{content:'';display:block;clear:both}.mood-seq-controls .mood-scrubber{display:none}.mood-stage-labels button{font-size:9px}.mood-stage-labels{height:30px}}
@media(max-width:650px){.mood-tech-closeups>div{grid-template-columns:1fr}.mood-tech-closeups img{aspect-ratio:1.7}.mood-tech-detail{height:75px}}
@media(max-height:650px){.mood-tech-detail{height:70px;margin-top:8px}.mood-stage-labels{height:27px}.mood-seq-controls{margin-top:8px}.mood-seq-controls .mood-scrubber{display:none}}
/* Montebello / an evolving commission with drawing-led documentation. */
.villa-status{display:inline-block;border:1px solid var(--accent);padding:6px 10px;font-size:9px;letter-spacing:1px;margin-top:18px;color:#827146}
.villa-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:42px 0}
.villa-progress li{border-top:1px solid #cccdc0;padding-top:22px}.villa-progress li.is-complete{border-color:var(--accent)}.villa-progress span{font-size:9px;letter-spacing:.8px;color:#8c8f7c}.villa-progress .is-complete span{color:#8c7644}.villa-progress h4{font-weight:400;font-size:22px;line-height:1.4;margin:21px 0 13px}.villa-progress p{font-size:12px;line-height:1.9;color:#7c806f}
.villa-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:40px 0 0;padding:30px 0;border-top:1px solid #d4d5c8}.villa-areas b{display:block;font-size:35px;font-weight:400;letter-spacing:-1px}.villa-areas small{font-size:15px}.villa-areas span{display:block;font-size:11px;color:#808474;margin-top:12px}.villa-areas>p{grid-column:1/-1;font-size:9px;color:#9b9e90;margin:0}
.villa-viewer{border:1px solid #d2d4c7;margin-top:30px;background:#eeeee7}.villa-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border-bottom:1px solid #d2d4c7}.villa-viewer-toolbar label{display:flex;align-items:center;gap:15px;font-size:10px;color:#787d6d;min-width:0}.villa-viewer select{font:inherit;font-size:12px;color:#363d31;background:transparent;border:0;max-width:100%;padding:7px 5px;cursor:pointer}.villa-viewer button{border:1px solid #c8cbbd;background:none;padding:7px 11px;font-size:11px}.villa-viewer button:hover{border-color:var(--accent);background:#cfb77f22}.villa-viewer-toolbar>div{display:flex;gap:7px;flex-shrink:0}.villa-drawing-scroll{height:clamp(330px,55vh,650px);overflow:auto;overscroll-behavior:contain;background:white}.villa-drawing-scroll>img{display:block;width:100%;height:auto;max-width:none}.villa-zoom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;border-top:1px solid #d2d4c7}.villa-zoom>div{display:flex;align-items:center;gap:10px}.villa-zoom span{font-size:10px;min-width:32px;text-align:center}.villa-zoom a{font-size:10px;border-bottom:1px solid var(--accent);padding-bottom:4px}.villa-sheet-caption{padding:20px 23px 24px;border-top:1px solid #d2d4c7}.villa-sheet-caption>span{font-size:10px;color:#9c885d}.villa-sheet-caption h4{font-size:23px;font-weight:400;margin:14px 0 10px}.villa-sheet-caption p{font-size:12px;line-height:1.8;color:#747b69;margin:0}.villa-extract-note{font-size:10px;line-height:1.8;color:#989d8a;margin-top:18px}
.villa-details{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px;margin-top:35px}.villa-details img{display:block;width:100%;aspect-ratio:1.2;object-fit:contain;background:white}.villa-details a{display:block}.villa-details a:hover{outline:1px solid var(--accent)}.villa-details h4{font-size:23px;font-weight:400;margin:23px 0 12px;line-height:1.3}.villa-details p{font-size:13px;color:#79816d;line-height:1.9;margin:0}.villa-current-views{display:grid;grid-template-columns:1fr 1fr;gap:0 27px}
@media(max-width:650px){.villa-progress{grid-template-columns:1fr;gap:20px}.villa-progress h4{font-size:21px;margin-top:15px}.villa-areas{gap:12px}.villa-areas b{font-size:27px}.villa-areas small{font-size:12px}.villa-areas span{font-size:9px}.villa-viewer-toolbar{padding:12px;gap:8px;flex-wrap:wrap}.villa-viewer-toolbar label{flex:1;min-width:210px}.villa-viewer select{font-size:11px;width:100%}.villa-viewer-toolbar label{gap:8px}.villa-viewer-toolbar>div{margin-left:auto}.villa-drawing-scroll{height:360px}.villa-zoom{padding:10px;gap:8px;flex-wrap:wrap}.villa-zoom>div{gap:6px}.villa-zoom a{margin-left:auto}.villa-viewer button{font-size:10px;padding:7px 9px}.villa-sheet-caption{padding:17px}.villa-details,.villa-current-views{grid-template-columns:1fr}.villa-details h4{font-size:22px}}
/* Complete A3 sheets: consistent framing, paper blending and directional transitions. */
.villa-viewer{background:transparent}
.villa-drawing-scroll{height:auto;aspect-ratio:420/297;max-height:none;background:transparent;overscroll-behavior:auto;touch-action:pan-y;overflow:auto}
.villa-drawing-scroll>img{display:block;aspect-ratio:420/297;object-fit:contain;background:transparent;mix-blend-mode:multiply;transform-origin:center;max-width:none}
@media(max-width:650px){.villa-drawing-scroll{height:auto;aspect-ratio:420/297}.villa-viewer-toolbar label{min-width:190px}}
/* Anemo: a quiet editorial section through the proposed air system. */
.anemo-entry{display:inline-block;border:1px solid #cfb77f;padding:7px 12px;font-size:11px;letter-spacing:.8px;margin:0 0 30px;color:#877247}
.anemo-flow{height:2300px;margin-top:40px;position:relative}.anemo-sticky{position:sticky;top:90px;background:#eeede6;border:1px solid #deded3;padding:26px 30px 22px;min-height:520px;box-sizing:border-box}.anemo-flow-top{display:flex;justify-content:space-between;gap:14px;font-size:9px;letter-spacing:1.4px;color:#838775}.anemo-flow-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);gap:30px;align-items:center}.anemo-diagram{width:100%;height:auto;display:block}.anemo-duct{fill:none;stroke:#b6b8ab;stroke-width:27;stroke-linejoin:round}.anemo-flow-copy>span{color:#a18a57;font-size:11px;letter-spacing:1.4px}.anemo-flow-copy h4{font-size:clamp(24px,2.5vw,34px);font-weight:400;line-height:1.2;letter-spacing:-.8px;margin:22px 0}.anemo-flow-copy p{font-size:13px;line-height:1.9;color:#777c6c;min-height:145px}.anemo-controls{display:flex;gap:24px;align-items:center;margin-top:12px}.anemo-controls button{font-size:11px;padding:8px 0;border:0;border-bottom:1px solid transparent;background:none;color:#848778;cursor:pointer}.anemo-controls button[aria-pressed=true]{color:#3f493b;border-bottom-color:#cfb77f}.anemo-controls>span{margin-left:auto;font-size:10px;color:#838775}.anemo-progress{height:2px;background:#d7d9ce;margin-top:14px}.anemo-progress i{display:block;height:100%;width:0;background:#cfb77f}.anemo-note{font-size:11px;line-height:1.8;color:#8b8e80;max-width:780px;margin:22px auto 0}.anemo-wind path{opacity:.08;transition:opacity .3s;stroke-dasharray:8 12}.anemo-wind .is-flowing{animation:anemo-wind 1.6s linear infinite}.anemo-comfort{opacity:0;transition:opacity .8s}.is-cooling .anemo-comfort{opacity:1}.anemo-train{transition:transform .1s linear}.anemo-rain{opacity:.2}.is-cooling .anemo-rain{opacity:1}.anemo-drawings img{mix-blend-mode:multiply;object-fit:contain}.anemo-drawings{align-items:center}
@keyframes anemo-wind{to{stroke-dashoffset:-80}}
@media(max-width:850px){.anemo-flow-layout{grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr);gap:15px}.anemo-sticky{padding:20px;min-height:430px}.anemo-flow-copy p{font-size:12px}.anemo-controls{gap:17px}.anemo-controls>span{display:none}}
@media(max-width:600px){.anemo-flow{height:1850px}.anemo-sticky{top:72px;padding:15px;min-height:0}.anemo-flow-top{font-size:7px;letter-spacing:.6px}.anemo-flow-layout{grid-template-columns:1fr;gap:0}.anemo-diagram{max-height:290px}.anemo-flow-copy h4{font-size:23px;margin:9px 0}.anemo-flow-copy p{min-height:86px;margin:8px 0;font-size:12px;line-height:1.7}.anemo-flow-copy>span{font-size:9px}.anemo-controls{justify-content:space-between;gap:10px;margin-top:0}.anemo-controls button{font-size:10px}.anemo-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.anemo-flow{height:auto}.anemo-sticky{position:relative;top:0}.anemo-wind path{animation:none!important;transition:none}.anemo-comfort,.anemo-train{transition:none}}
/* Anemo revision: atmospheric site plate, native annotations and folio-based airflow. */
.anemo-site-figure .anemo-site-map{position:relative;isolation:isolate;aspect-ratio:1000/563}
.anemo-site-map>img{width:100%;height:100%;object-fit:contain;background:transparent;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 73% 77% at 50% 53%,#000 50%,transparent 76%)}
.anemo-site-map>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:#797b69;stroke-width:.8}
.anemo-site-map>svg circle{fill:#cfb77f;stroke:#f5f4f0;stroke-width:1.5}
.anemo-map-labels{list-style:none;margin:0;padding:0}
.anemo-map-labels li{position:absolute;left:var(--x);top:var(--y);transform:translate(-35%,-100%);max-width:145px;font-size:clamp(8px,.9vw,11px);line-height:1.5;color:#464a3e;background:#f5f4f0d9;padding:4px 7px}
.anemo-map-labels li>span{display:block;color:#a18a57;font-size:9px;letter-spacing:1px;margin-bottom:2px}
.anemo-equal-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.anemo-equal-pair .case-figure{min-width:0}
.anemo-equal-pair .case-figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.anemo-site-flow{min-width:0;isolation:isolate}
.anemo-site-flow svg{width:100%;max-height:none;height:auto;mix-blend-mode:multiply;overflow:visible}
.anemo-site-flow .anemo-wind path{stroke:#75bfdb;stroke-width:5;stroke-dasharray:15 20;opacity:.08}
.anemo-site-flow .anemo-wind .anemo-supply{stroke:#b29b68;stroke-width:3;stroke-dasharray:6 12}
.anemo-site-flow .anemo-wind .anemo-step-breeze{stroke-width:4}
.anemo-air-glow{opacity:0;transition:opacity .7s}
.is-cooling .anemo-air-glow{opacity:.32}
.anemo-map-inlet{fill:#9b885c;stroke:#b29b68;stroke-width:1.3}
.anemo-map-inlet text{font:15px Arial,sans-serif;stroke:none;letter-spacing:1px}
.anemo-map-inlet path{fill:none}
.anemo-site-flow .anemo-breeze-loop.is-flowing{animation-duration:2.4s}
.anemo-flow-layout{grid-template-columns:minmax(0,2.3fr) minmax(190px,1fr)}
.anemo-sticky{min-height:0}
@media(max-width:850px){.anemo-flow-layout{grid-template-columns:minmax(0,1.7fr) minmax(180px,1fr);gap:18px}.anemo-map-labels li{font-size:8px;max-width:105px}}
@media(max-width:650px){.anemo-equal-pair{grid-template-columns:1fr}.anemo-map-labels{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:15px 0 0}.anemo-map-labels li{position:static;transform:none;max-width:none;padding:0;background:transparent;font-size:10px}.anemo-map-labels li>span{display:inline-block;margin-right:6px;font-size:9px}.anemo-site-map>svg{height:auto;aspect-ratio:1000/563}.anemo-site-figure .anemo-site-map{aspect-ratio:auto}.anemo-site-map>img{height:auto;aspect-ratio:1000/563}.anemo-site-map>svg circle{r:18;stroke-width:2}.anemo-site-map>svg path{display:none}.anemo-pin-numbers{display:block!important}}
@media(max-width:600px){.anemo-flow-layout{grid-template-columns:1fr;gap:0}.anemo-site-flow{max-width:100%;margin:8px auto}.anemo-flow-copy p{min-height:92px}}
@media(prefers-reduced-motion:reduce){.anemo-air-glow{transition:none}.anemo-site-flow .is-flowing{animation:none!important}}
/* Personal profile: supplied education, capabilities and contact details. */
.profile-about{grid-template-columns:minmax(220px,.85fr) minmax(0,1.3fr);gap:8%;align-items:start}
.profile-heading h2{font-size:clamp(36px,4.2vw,62px);line-height:1.15;letter-spacing:-2px;margin:32px 0 24px}
.profile-heading p{color:#777b6c;font-size:13px;line-height:1.9}
.profile-heading .profile-location{font-size:11px;letter-spacing:.6px;color:#a18a57}
.profile-details{min-width:0}.profile-details .profile-bio{max-width:650px;margin-top:0;font-size:16px;line-height:1.9;color:#656a5b}
.profile-details .disciplines{gap:12px 24px;margin:25px 0 42px;color:#7b7e70}
.profile-section{border-top:1px solid #cecec2;margin-top:30px;padding-top:22px}
.profile-section h3{font-size:11px;font-weight:400;letter-spacing:1.3px;margin:0 0 26px;color:#8c7951}
.education-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;margin:0 0 27px}
.education-row>span{font-size:10px;color:#929584;padding-top:5px}
.education-row h4{font-size:18px;font-weight:400;line-height:1.5;margin:0;letter-spacing:-.3px}
.profile-details .education-row p{font-size:11px;color:#858879;line-height:1.7;margin:8px 0 0}
.profile-skills{display:grid;grid-template-columns:1fr 1fr;gap:15px 28px;list-style:none;padding:0;margin:0 0 30px}
.profile-skills li{font-size:12px;line-height:1.8;color:#707565;padding-left:14px;position:relative}
.profile-skills li:before{content:'';position:absolute;left:0;top:10px;width:4px;height:4px;background:#cfb77f;border-radius:50%}
.profile-tools{margin:0}.profile-tools>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;margin-bottom:18px;font-size:12px;line-height:1.9}
.profile-tools dt{color:#898d7c;font-size:10px}.profile-tools dd{margin:0;color:#6e7362;overflow-wrap:anywhere}
.profile-languages{list-style:none;padding:0;margin:0;display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap}
.profile-languages li{font-size:12px}.profile-languages small{display:block;margin-top:9px;font-size:10px;color:#8c907f}
.contact-details{display:grid;grid-template-columns:1.4fr 1fr;gap:0 45px;margin-top:35px;max-width:1000px}
.profile-contact .contact-details a{display:grid;grid-template-columns:1fr auto;gap:9px 15px;min-width:0;margin-top:0;padding:24px 0;border-bottom:1px solid #cecec2}
.contact-details a>span{grid-column:1/-1;font-size:9px;letter-spacing:1px;color:#8c907f}
.contact-details strong{font-size:clamp(12px,1.6vw,19px);font-weight:400;line-height:1.6;overflow-wrap:anywhere}
.contact-details b{font-size:17px;font-weight:400;color:#a18a57}.profile-contact .contact-details a:hover{border-color:#cfb77f}
@media(max-width:850px){.profile-about{grid-template-columns:.8fr 1.3fr;gap:5%}.profile-skills{grid-template-columns:1fr}.education-row{grid-template-columns:1fr;gap:8px}.contact-details{gap:0 24px}}
@media(max-width:650px){.profile-about{grid-template-columns:1fr;gap:30px}.profile-heading h2{margin-top:22px;font-size:42px}.profile-details .profile-bio{font-size:14px}.profile-details .disciplines{margin-bottom:30px}.profile-skills{grid-template-columns:1fr 1fr;gap:12px 20px}.profile-skills li{font-size:11px}.profile-tools>div{grid-template-columns:85px minmax(0,1fr);gap:12px}.contact-details{grid-template-columns:1fr}.contact-details strong{font-size:16px}.profile-contact .contact-details a{padding:20px 0}}
@media(max-width:380px){.profile-skills{grid-template-columns:1fr}.profile-languages{gap:22px}.contact-details strong{font-size:14px}}

@media(max-width:650px){html[lang="en-AU"] .intro h1{font-size:clamp(30px,8.4vw,54px)}}
/* Mobile input and fixed-ratio technical imagery. */
.circular-showcase .orbit-stage,.circular-showcase .orbit-card,.circular-showcase .orbit-image{touch-action:pan-y pinch-zoom;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
.circular-showcase .orbit-card{ -webkit-user-drag:none }
.ui-arrow{display:inline-block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em;flex:none;pointer-events:none}
.orbit-arrow{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}
.orbit-arrow .ui-arrow{width:18px;height:18px}
/* Padding reserves a 16:9 box even when the mobile grid has indefinite height. */
.mood-visual{height:0;aspect-ratio:auto;padding-bottom:56.25%;max-height:none;min-width:0}
.mood-visual canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@media(max-width:850px){.mood-visual{max-height:none;height:0;padding-bottom:56.25%}.mood-seq-layout{width:100%;min-width:0}.mood-callout{min-width:0}}
