/*
Theme Name: Camou Staging Redesign
Description: Private redesign theme for ccc-staging.camoustudio.com only.
Version: 1.0.0
*/

:root{--ink:#0a0a0a;--paper:#f2efe8;--coral:#ff5548;--line:#2b2b2b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit}.site-header{position:sticky;top:0;z-index:50;height:76px;background:rgba(10,10,10,.94);display:flex;align-items:center;padding:0 3vw;border-bottom:1px solid #222;gap:22px}.brand{display:flex;flex-direction:column;line-height:.85;min-width:180px;font-weight:900;letter-spacing:.04em}.brand span{font-size:18px}.brand small{font-size:8px;letter-spacing:.56em;margin-top:7px}.site-header nav{display:flex;gap:18px;margin:auto;font-size:12px}.site-header nav a:hover{color:var(--coral)}.portal{font-size:11px;color:#aaa}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--coral);color:#fff;padding:17px 25px;border:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.compact{padding:12px 16px}.hero{min-height:calc(100vh - 76px);position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.25)),linear-gradient(0deg,rgba(0,0,0,.78),transparent 50%)}.hero-copy{position:relative;z-index:2;padding:8vw 6vw 10vw;width:min(850px,75%)}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:800}.coral{color:var(--coral)}h1,h2{font-size:clamp(48px,7vw,112px);line-height:.88;letter-spacing:-.055em;margin:.2em 0;font-weight:900}h1 em,h2 span{font-weight:400;font-style:italic;color:var(--coral)}.lede{font-size:clamp(17px,2vw,25px);line-height:1.5;max-width:680px;color:#ddd}.actions{display:flex;align-items:center;gap:30px;margin-top:34px}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-proof{position:absolute;right:4vw;bottom:4vw;z-index:2;display:grid;grid-template-columns:auto auto;gap:7px 14px;align-items:center}.hero-proof b{font-size:26px;color:var(--coral)}.hero-proof span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#ccc}.section{padding:10vw 6vw}.intro,.section-head{display:grid;grid-template-columns:1.4fr .8fr;gap:10vw;align-items:end}.intro h2,.section-head h2,.life h2,.admissions h2{font-size:clamp(44px,6vw,90px)}.intro-copy,.section-head>p{font-size:19px;line-height:1.7;color:#bbb}.qualifications{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.qualifications article{padding:5vw 6vw;border-right:1px solid var(--line)}.qualifications small{color:var(--coral);text-transform:uppercase;letter-spacing:.2em}.qualifications h3{font-size:25px;margin:30px 0 5px}.qualifications p{color:#aaa}.programme{background:var(--paper);color:#111}.discipline-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:6vw;border-top:1px solid #bbb}.discipline-grid article{min-height:240px;padding:28px 22px;border-right:1px solid #bbb;border-bottom:1px solid #bbb}.discipline-grid b{color:var(--coral)}.discipline-grid h3{font-size:22px;margin-top:75px}.discipline-grid p{font-size:13px;color:#555}.work-section,.outcomes{padding:10vw 3vw}.section-head{padding:0 3vw}.filters{display:flex;gap:8px;flex-wrap:wrap;padding:50px 3vw 25px}.filters span{border:1px solid #444;color:#aaa;padding:10px 17px;border-radius:30px;font-size:12px}.filters span:first-child{background:var(--coral);border-color:var(--coral);color:#fff}.masonry{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.masonry figure,.image-grid figure,.activity-strip figure{margin:0;position:relative;overflow:hidden;background:#161616}.masonry figure.wide{grid-column:span 2}.masonry img{height:390px;object-fit:cover}.masonry figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(0,0,0,.9));padding:70px 18px 18px;display:flex;flex-direction:column}.masonry figcaption span{color:var(--coral);font-size:10px;text-transform:uppercase}.masonry figcaption b{text-transform:capitalize;font-size:12px}.studios{background:#111}.image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:6vw}.image-grid figure{height:310px}.image-grid img{height:100%;object-fit:cover}.image-grid figcaption,.activity-strip figcaption{position:absolute;inset:auto 0 0;padding:50px 16px 16px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-weight:800}.subhead{font-size:32px;margin:8vw 0 -3vw}.campus-grid,.residence-grid{grid-template-columns:repeat(3,1fr)}.life{padding:10vw 0;background:var(--paper);color:#111}.life-copy{padding:0 6vw 6vw;max-width:760px}.life-copy p:last-child{max-width:580px;font-size:18px;line-height:1.6}.activity-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.activity-strip figure{height:380px}.activity-strip img{height:100%;object-fit:cover}.alumni-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6vw}.alumni-row img{height:400px;object-fit:cover;background:#222}.admissions{padding:10vw 6vw;background:var(--coral);color:#111;display:grid;grid-template-columns:.8fr 1fr;gap:8vw}.admissions h2 span{color:#fff}.admissions-copy>p{font-size:18px;line-height:1.6}.admissions ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:40px;font-weight:800}.admissions form{background:#111;color:#fff;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.admissions label{display:flex;flex-direction:column;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.admissions input,.admissions select,.admissions textarea{background:#1d1d1d;color:#fff;border:1px solid #3b3b3b;padding:14px}.full{grid-column:1/-1}.admissions form small{color:#888}footer{padding:70px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid #222;color:#aaa}footer>div:nth-of-type(2){display:flex;gap:20px;flex-wrap:wrap}footer .brand{color:#fff}footer>small{grid-column:1/-1;border-top:1px solid #222;padding-top:25px}@media(max-width:900px){.site-header{height:68px}.site-header nav,.portal,.compact{display:none}.hero-copy{width:100%;padding:100px 6vw 180px}.hero-proof{left:6vw;right:auto;bottom:30px}.intro,.section-head,.admissions{grid-template-columns:1fr}.qualifications{grid-template-columns:1fr}.qualifications article{border-right:0;border-bottom:1px solid var(--line)}.discipline-grid{grid-template-columns:1fr 1fr}.masonry{grid-template-columns:1fr 1fr}.masonry figure.wide{grid-column:span 1}.image-grid,.campus-grid,.residence-grid{grid-template-columns:1fr 1fr}.activity-strip{grid-template-columns:1fr 1fr}.alumni-row{grid-template-columns:1fr 1fr}.admissions form{padding:25px}footer{grid-template-columns:1fr}}@media(max-width:560px){.section,.work-section,.outcomes{padding-top:90px;padding-bottom:90px}.discipline-grid,.image-grid,.campus-grid,.residence-grid{grid-template-columns:1fr}.masonry{grid-template-columns:1fr 1fr;gap:4px}.masonry img{height:240px}.image-grid figure{height:280px}.activity-strip{display:flex;overflow-x:auto}.activity-strip figure{min-width:80vw}.alumni-row{display:flex;overflow-x:auto}.alumni-row img{min-width:80vw}.admissions{padding:90px 5vw}.admissions form{grid-template-columns:1fr}.admissions form>*{grid-column:1!important}.admissions ul{grid-template-columns:1fr}.hero-proof{grid-template-columns:auto auto auto auto;gap:8px}.hero-proof b{font-size:19px}.hero-proof span{font-size:7px}}

.menu-toggle{display:none}
@media(max-width:900px){.menu-toggle{display:block;margin-left:auto;background:transparent;color:#fff;border:1px solid #444;padding:10px 13px;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.site-header nav.open{display:flex;position:absolute;top:68px;left:0;right:0;background:#0a0a0a;padding:24px 6vw;flex-direction:column;gap:20px;border-bottom:1px solid #333}.site-header nav.open a{font-size:15px}.site-header{padding:0 4vw}}

/* Gallery upgrade: larger editorial layouts and full-screen photo viewing */
.masonry{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.masonry figure{
  grid-column:auto!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:565/800;
}
.image-grid,.campus-grid,.residence-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.image-grid figure,.campus-grid figure,.residence-grid figure{
  height:clamp(360px,42vw,540px)!important;
}
#campus .image-grid figure:first-child,.residence-grid figure:first-child{
  grid-column:1/-1;
  height:clamp(460px,62vw,720px)!important;
}
.activity-strip{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  overflow:visible!important;
}
.activity-strip figure{
  min-width:0!important;
  height:clamp(380px,48vw,600px)!important;
}
.activity-strip figure:first-child{
  grid-column:1/-1;
  height:clamp(480px,62vw,740px)!important;
}
.alumni-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  overflow:visible!important;
}
.alumni-row img{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  background:#111;
}
.zoomable-photo{cursor:zoom-in;transition:transform .3s ease,filter .3s ease}
.zoomable-photo:hover{transform:scale(1.015);filter:brightness(1.06)}
.zoomable-photo:focus-visible{outline:3px solid #ef6a5b;outline-offset:4px}
.photo-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:56px 76px 70px;background:rgba(0,0,0,.96);backdrop-filter:blur(12px)}
.photo-lightbox.open{display:flex}
.photo-lightbox__image{display:block;max-width:100%;max-height:calc(100vh - 126px);width:auto;height:auto;object-fit:contain;box-shadow:0 28px 80px #000}
.photo-lightbox__caption{position:absolute;left:76px;right:76px;bottom:22px;text-align:center;color:#eee;font-size:13px;letter-spacing:.04em}
.masonry img{width:100%!important;height:100%!important;object-fit:cover!important}
