@font-face{font-family:Manrope;src:url("assets/manrope.woff") format("woff");font-weight:200 800;font-display:swap}
:root{--navy:#0d1b2a;--amber:#f2a93b;--teal:#3d8b82;--ink:#142536;--muted:#59636b;--paper:#f7f6f2;--silver:#eceeea;--line:#d5d9d5;--accent-ink:#23685f;--success:#23685f;--error:#a7372c;--focus:#3d8b82;--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,"Segoe UI",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);outline-offset:2px}.wrap{max-width:1280px;margin:auto;padding:0 56px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650}h1,h2{letter-spacing:-.045em;line-height:1.1}h2{font-size:clamp(28px,3vw,38px)}h3{letter-spacing:-.025em;line-height:1.3}p{color:var(--muted)}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--amber);color:var(--navy);padding:12px}.skip:focus{top:10px}
body>header.wrap{max-width:none;background:var(--navy);padding:0 max(56px,calc((100vw - 1168px)/2))}nav{min-height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff1c;color:#f7f6f2;gap:32px}.brand{display:flex;align-items:center;gap:10px;font-size:18px;letter-spacing:.015em;font-weight:750;white-space:nowrap}.brand img{display:block;border-radius:0}.brand-dot{color:var(--amber)}#navlinks{display:flex;align-items:center;gap:28px;font-size:13px}#navlinks a{transition:color .18s}#navlinks a:hover{color:var(--amber)}.nav-contact{border-bottom:1px solid var(--amber);padding:8px 0;margin-left:10px}.nav-contact span{margin-left:16px;color:var(--amber)}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:38px 100px;align-items:center;padding-top:76px;padding-bottom:26px;background:var(--navy);color:var(--paper);max-width:none;padding-left:max(56px,calc((100vw - 1168px)/2));padding-right:max(56px,calc((100vw - 1168px)/2))}.eyebrow{font-size:11px;letter-spacing:.075em;font-weight:600;margin-bottom:20px;color:var(--accent-ink)}.hero .eyebrow{color:#a9c7c2}h1{font-size:clamp(40px,4.7vw,62px);font-weight:600;line-height:1.16;letter-spacing:-.055em}h1 span{color:var(--amber)}.intro{font-size:16px;max-width:440px;margin-top:0}.hero .intro{color:#c4cdd3;line-height:1.8}.hero-brief{padding-top:18px}.hero-brief .button{margin-top:25px}.hero-secondary{display:block;margin-top:22px;font-size:12px;color:#b8c6cf}.hero-secondary span{display:block;color:var(--paper);margin-top:4px}.hero-secondary:hover span{color:var(--amber)}.hero-foot{grid-column:1/-1;border-top:1px solid #ffffff26;margin-top:18px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#b5c5cf}.hero-foot a{color:var(--paper);display:inline-flex;gap:18px}.hero-foot a:hover{color:var(--amber)}.actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:14px 21px;border-radius:3px;font-size:13px;font-weight:650;border:1px solid transparent;min-height:48px;transition:background .2s}.primary{background:var(--amber);color:var(--navy)}.primary:hover{background:#ffba51}.text-link{font-size:13px;font-weight:600;display:inline-flex;gap:16px;align-items:center;min-height:44px}.text-link:hover{color:var(--accent-ink)}.hero .text-link:hover{color:var(--amber)}.hero-note{font-size:12px;color:#b5c5cf}.package-overview{border-left:1px solid #ffffff30;padding:8px 0 8px 36px}.package-overview h2{font-size:25px;letter-spacing:-.035em;line-height:1.3}.package-overview ul{padding:0;margin:22px 0;list-style:none}.package-overview li{padding:12px 0;border-top:1px solid #ffffff25}.package-overview li span{display:block;font-size:11px;color:#a9c7c2;margin-bottom:5px}.package-overview b{font-size:13px;font-weight:500}.package-overview>p:last-child{font-size:12px;color:#b5c5cf}.package-overview .eyebrow{font-size:10px}

.section{padding-top:72px;padding-bottom:72px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-heading>p{max-width:320px;font-size:14px}.services-layout{display:grid;grid-template-columns:.85fr 1.35fr;gap:95px}.services-heading>p:not(.eyebrow){margin-top:20px;max-width:290px;font-size:14px}.services-heading .scope-note{padding-top:20px;border-top:1px solid var(--line);font-size:12px!important}.service-list article{display:block;border-top:1px solid var(--line);padding:26px 0}.service-list article:last-child{border-bottom:1px solid var(--line)}.service-number{font-size:11px;color:var(--teal);padding-top:5px}.service-list h3{font-size:21px;margin-bottom:12px}.service-list p{font-size:14px;max-width:500px}.service-list .text-link{margin-top:12px;color:var(--accent-ink)}
.work-section{background:var(--paper);padding:58px 0 68px;border-bottom:1px solid var(--line)}.work-grid{display:grid;grid-template-columns:1.17fr 1fr;gap:42px;align-items:start}.work-item:nth-child(2){margin-top:56px}.work-art{aspect-ratio:1.48;height:auto;overflow:hidden;border-radius:2px;background:#dce4db}.work-item:nth-child(2) .work-art{aspect-ratio:1.6}.work-art img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .4s}.work-item:hover .work-art img{transform:scale(1.025)}.travel-art{background:#d5dedc}.work-caption{display:flex;justify-content:space-between;align-items:center;padding:21px 0}.work-caption h3{font-size:21px}.work-caption p{font-size:12px;margin-top:5px}.work-caption>span{font-size:24px;color:var(--accent-ink)}.portfolio-row{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:15px;padding-top:22px;border-top:1px solid #c8d1c9}.portfolio-row p{font-size:13px}.portfolio-row .text-link{color:var(--accent-ink)}
.student-feature{background:#e8ede7;color:var(--ink);padding:62px 0}.student-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.student-feature .eyebrow{color:var(--accent-ink)}.student-feature p:not(.eyebrow){color:var(--muted);max-width:400px;margin:22px 0 28px;font-size:14px}.student-index{border-top:1px solid #bbcbbf}.index-title{display:block;padding:22px 0 10px;font-size:9px;letter-spacing:.13em;color:var(--accent-ink)}.student-index>a{display:flex;align-items:center;gap:22px;padding:20px 0;border-bottom:1px solid #bbcbbf;font-size:16px}.student-index>a:hover{color:var(--accent-ink)}.student-index>a>span{font-size:10px;color:#8da99e}.student-index b{margin-left:auto;color:var(--accent-ink);font-weight:400}.student-index p{font-size:11px!important;margin-bottom:0!important}
.studio-section{padding:85px 0}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.team-grid article{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.team-grid h3{font-size:18px;margin-bottom:7px}.team-grid p{font-size:12px}.team-grid a:hover{color:var(--accent-ink)}.faq{display:grid;grid-template-columns:.85fr 1.35fr;gap:95px;border-top:1px solid var(--line);padding-top:70px}.faq h2{font-size:25px;letter-spacing:-.025em}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq details:first-child{padding-top:0}.faq summary{cursor:pointer;font-size:15px;font-weight:600;min-height:30px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';color:var(--accent-ink);font-size:20px;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;margin:15px 0 6px;max-width:550px}
.contact-section{background:#e9ece5;padding:80px 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-layout>div>p:not(.eyebrow){max-width:330px;margin:24px 0;font-size:14px}.contact-email{font-size:17px;display:inline-flex;gap:18px;border-bottom:1px solid #bdc9be;padding-bottom:9px;overflow-wrap:anywhere}.contact-note{font-size:11px!important;margin-top:24px!important}.contact-note a{display:block;color:var(--accent-ink);font-weight:650;margin-top:4px}.contact-layout form{display:flex;flex-direction:column;gap:16px}label{display:block;font-size:12px;font-weight:600}label>span{display:block;margin-bottom:7px}input,select,textarea{width:100%;background:#ffffffa8;border:1px solid #bec8bf;border-radius:4px;padding:12px 13px;color:var(--ink);font-size:14px;min-height:48px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#66726d}.contact-layout label input,.contact-layout label select,.contact-layout label textarea{margin-top:7px}.contact-layout form small{font-size:11px;color:var(--muted)}.contact-layout .button{align-self:flex-start}.contact-layout #form-status{font-size:12px}footer{background:var(--navy);color:#aebcc5;font-size:11px}.footer-inner,footer.wrap{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:28px;padding-bottom:28px}footer .brand{color:var(--paper)}footer a:hover{color:var(--amber)}footer.wrap{max-width:none;padding-left:max(56px,calc((100vw - 1168px)/2));padding-right:max(56px,calc((100vw - 1168px)/2))}
/* Project library shares the same identity. */
.live-dot{display:none}.catalogue-page .hero{gap:55px}.catalogue-page h1{font-size:clamp(40px,5vw,64px)}.scope-strip{background:#e4e9df;color:var(--accent-ink)}.scope-strip .wrap{display:flex;justify-content:space-between;padding-top:18px;padding-bottom:18px;gap:20px;font-size:10px;letter-spacing:.1em}.catalogue-tools{display:grid;grid-template-columns:2fr 1.2fr .8fr;gap:15px}.catalogue-meta{display:flex;justify-content:space-between;align-items:center;margin:23px 0;font-size:12px}.subtle{background:none;border:0;color:var(--muted);text-decoration:underline;padding:10px;min-height:44px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fdfdfa;transition:border-color .2s}.project-card:hover{border-color:var(--teal)}.card-art{height:84px;background:#e7ece3;padding:20px;display:flex;align-items:center;justify-content:space-between}.card-art .symbol{font-size:30px;font-weight:650;color:var(--accent-ink)}.card-art>span:last-child{font-size:9px;letter-spacing:1px;color:#59715f}.project-card:nth-child(3n+2) .card-art{background:#eee8db}.project-card:nth-child(3n+2) .symbol{color:#94641d}.project-card:nth-child(3n+3) .card-art{background:#e6e9eb}.card-content{padding:22px}.card-category{font-size:11px;letter-spacing:.05em;min-height:32px}.card-content h3{font-size:19px;margin:7px 0 15px;min-height:48px}.card-content>p{font-size:12px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.details-button{border:0;background:none;padding:10px 0;min-height:44px;font-weight:650;color:var(--accent-ink);font-size:12px}.save-button{background:var(--silver);border:0;border-radius:50%;width:44px;height:44px;color:var(--muted);font-size:21px}.save-button[aria-pressed=true]{background:#f2e4c9;color:#815212}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:30px;font-size:12px}.pagination button{border:1px solid var(--line);background:white;border-radius:4px;padding:10px 18px;min-height:44px}.pagination button:disabled{opacity:.4}.empty{padding:35px;background:var(--silver);border-radius:6px;grid-column:1/-1}.package-section{background:var(--navy);color:var(--paper);padding:80px 0}.package-section .eyebrow,.package-section .deliverables span{color:#91bcb6}.package-section p{color:#b9c6cf}.deliverables{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.deliverables article{border-top:1px solid #ffffff30;padding-top:20px}.deliverables span{font-size:11px}.deliverables h3{font-size:20px;margin:20px 0 15px}.deliverables p{font-size:13px}.package-note{font-size:12px;margin-top:35px}.services-intro{margin-bottom:35px}.service-rows>a{display:flex;gap:30px;align-items:center;padding:25px 0;border-top:1px solid var(--line)}.service-rows>a>span{color:var(--accent-ink);font-size:12px}.service-rows h3{font-size:24px;margin-bottom:8px}.service-rows p{font-size:13px}.service-rows b{margin-left:auto;font-size:26px}.service-rows>a:hover h3{color:var(--accent-ink)}.catalogue-page .faq{display:block;max-width:900px}.catalogue-page .faq h2{margin-bottom:32px}.catalogue-page .faq details:first-of-type{border-top:1px solid var(--line)}dialog{max-width:580px;width:calc(100% - 32px);border:0;border-radius:8px;color:var(--ink);background:var(--paper);padding:0;max-height:90dvh}dialog::backdrop{background:#0d1b2abf}.dialog-inner{padding:40px}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:var(--silver);width:44px;height:44px;border-radius:50%;font-size:26px}.dialog-inner h2{font-size:32px;padding-right:15px;margin-bottom:20px}.dialog-inner p{font-size:14px;margin-bottom:20px}.dialog-inner .availability{color:var(--accent-ink)}.dialog-inner h3{font-size:17px}.dialog-inner ul{padding-left:20px;font-size:14px;line-height:2}.skeleton{height:300px;border-radius:6px;background:linear-gradient(100deg,#e9ece4 30%,#f9faf6 50%,#e9ece4 70%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{to{background-position:-200% 0}}
@media(max-width:1050px){.wrap{padding-left:32px;padding-right:32px}body>header.wrap,.hero,footer.wrap{padding-left:32px;padding-right:32px}.hero{gap:30px 50px}#navlinks{gap:18px;font-size:12px}.services-layout,.faq,.student-layout,.contact-layout{gap:50px}.team-grid article{display:block}.team-grid p{margin-top:7px}.work-grid{gap:30px}}
@media(max-width:760px){.wrap{padding-left:24px;padding-right:24px}body>header.wrap,.hero,footer.wrap{padding-left:24px;padding-right:24px}nav{min-height:80px;position:relative;gap:20px}.brand{font-size:16px}.brand img{width:42px;height:42px}.menu-toggle{display:flex;gap:14px;align-items:center;border:1px solid #ffffff35;background:none;color:var(--paper);border-radius:3px;padding:10px 14px;min-height:44px;font-size:12px}#navlinks{display:none;position:absolute;top:79px;left:0;right:0;background:var(--navy);border:1px solid #ffffff30;padding:14px;border-radius:3px;z-index:10;align-items:stretch;gap:5px}#navlinks.open{display:flex;flex-direction:column}#navlinks a{padding:12px;min-height:44px}.nav-contact{margin-left:0}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:24px;gap:22px}.hero-brief{padding-top:0}.hero-copy{max-width:570px}h1{font-size:clamp(36px,7vw,52px)}.intro{font-size:15px;max-width:510px}.hero-brief .button{margin-top:20px}.hero-secondary{margin-top:18px}.hero-foot{margin-top:8px;font-size:10px}.section{padding-top:52px;padding-bottom:52px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:16px;max-width:450px}.services-layout,.faq{grid-template-columns:1fr;gap:28px}.services-heading>p:not(.eyebrow){max-width:460px;margin-top:16px}.work-section{padding:42px 0}.work-grid{gap:24px}.work-item:nth-child(2){margin-top:35px}.work-caption h3{font-size:19px}.work-caption p{font-size:12px}.portfolio-row{align-items:flex-start;gap:10px;flex-direction:column}.team-grid,.deliverables{grid-template-columns:1fr 1fr;gap:0 24px}.deliverables{row-gap:28px}.student-layout,.contact-layout{grid-template-columns:1fr;gap:30px}.student-feature,.studio-section,.package-section,.contact-section{padding:52px 0}.student-feature p:not(.eyebrow){max-width:500px}.student-index>a{font-size:15px}.faq{padding-top:42px}.faq h2{font-size:24px}.contact-email{font-size:16px}.contact-layout>div>p:not(.eyebrow){max-width:420px}.footer-inner,footer.wrap{flex-wrap:wrap;gap:18px}footer .brand{width:100%}.catalogue-page .hero{gap:30px}.catalogue-page h1{font-size:clamp(36px,7vw,52px)}.package-overview{border-left:0;border-top:1px solid #ffffff30;padding:24px 0 0}.package-overview h2{font-size:24px}.catalogue-tools{grid-template-columns:1fr 1fr}.search-label{grid-column:1/-1}.project-grid{grid-template-columns:repeat(2,1fr);gap:12px}.card-content{padding:16px}.card-content h3{font-size:17px;min-height:65px}.card-category{min-height:40px}.dialog-inner{padding:36px 24px}.dialog-inner h2{font-size:28px}.service-rows>a{gap:15px}.service-rows h3{font-size:21px}}
@media(max-width:480px){.wrap{padding-left:20px;padding-right:20px}body>header.wrap,.hero,footer.wrap{padding-left:20px;padding-right:20px}h1,.catalogue-page h1{font-size:clamp(32px,8.9vw,42px);letter-spacing:-.055em}.eyebrow{font-size:10px;letter-spacing:.065em}.hero-foot{display:block}.hero-foot a{margin-top:9px;min-height:36px}.hero-brief .button{width:100%}.work-grid{grid-template-columns:1fr;gap:24px}.work-item:nth-child(2){margin-top:0}.work-art{aspect-ratio:1.48}.work-item:nth-child(2) .work-art{aspect-ratio:1.6}.team-grid{grid-template-columns:1fr;gap:0}.team-grid article{display:flex;flex-wrap:wrap;gap:6px 15px}.team-grid p{margin-top:0;font-size:12px}.team-grid h3{font-size:16px}.student-index>a{gap:15px;font-size:14px}.contact-layout .button{width:100%}.contact-email{font-size:15px}.project-grid{grid-template-columns:1fr}.card-content h3{font-size:20px;min-height:0}.card-category{min-height:0}.deliverables{grid-template-columns:1fr}.scope-strip .wrap{display:grid;grid-template-columns:1fr 1fr;font-size:9px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.catalogue-page h1 { max-width: 13ch; letter-spacing: -.04em; text-wrap: balance; }
.catalogue-page .intro { margin-top: 14px; }
.catalogue-page .hero .actions { gap: 8px 22px; margin-bottom: 0; }
.catalogue-page .package-overview h2 { max-width: 19ch; }
.catalogue-tools > label { min-width: 0; }
.catalogue-tools :is(input, select), .contact-layout :is(input, select, textarea) { font-size: 16px; }
.catalogue-page .faq summary { min-height: 44px; align-items: center; }
.scope-strip .wrap { font-size: .75rem; }
.package-overview li span, .card-category { font-size: .8125rem; }
.card-content > p, .contact-layout form small { font-size: .875rem; }
@media (max-width: 760px) {
  .catalogue-page .hero { gap: 24px; }
  .catalogue-page .package-overview { padding-top: 18px; }
  .catalogue-page .package-overview ul { margin-block: 14px; }
  .catalogue-page .hero .actions { margin-top: 18px; }
}
