/* Layout support for the existing Django pages outside the approved homepage. */
body:not(.home-page) main{min-height:60vh}
body:not(.home-page) .section{padding:clamp(64px,8vw,120px) 0}
body:not(.home-page) .section>.container,
body:not(.home-page) .site-section>.container{max-width:1180px;padding-left:var(--gutter);padding-right:var(--gutter)}
body:not(.home-page) .section h1,
body:not(.home-page) .section h2,
.inner-hero h1{font-family:Arial,sans-serif;font-weight:400;letter-spacing:-.045em}
body:not(.home-page) .section h1,.inner-hero h1{font-size:clamp(48px,6vw,96px)}
body:not(.home-page) .section h2{font-size:clamp(38px,4vw,68px)}
.inner-hero--image{position:relative;height:min(72vh,760px);min-height:480px;color:#fff;overflow:hidden}
.inner-hero--image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.54))}
.inner-hero--image>img{width:100%;height:100%;object-fit:cover}
.inner-hero-copy{position:absolute;z-index:2;right:var(--gutter);bottom:55px;left:var(--gutter)}
.inner-hero-copy h1{margin-top:8px;color:#fff}
.about-content{padding:clamp(72px,9vw,150px) var(--gutter)}
.about-lead{max-width:820px;margin:0 0 clamp(55px,8vw,110px);font-family:Arial,sans-serif;font-size:clamp(36px,4vw,68px);line-height:1.15;letter-spacing:-.04em}
.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin-left:18%}
.about-columns p{margin:0 0 24px}
.about-columns .text-link{margin-top:15px}
.partners-section{margin-top:clamp(80px,11vw,165px);padding-top:clamp(38px,5vw,70px);border-top:1px solid var(--line)}
.partners-heading{display:grid;grid-template-columns:minmax(140px,.55fr) minmax(0,1.45fr);gap:8vw;align-items:start;margin-bottom:clamp(48px,7vw,90px)}
.partners-heading h2{font-size:clamp(42px,5vw,74px)!important;line-height:1;letter-spacing:-.05em}
.partners-heading p{max-width:590px;color:#555951;font-size:17px;line-height:1.75}
.partners-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,90px)}
.partner-profile{display:grid;grid-template-columns:72px 1fr;column-gap:24px;padding-top:22px;border-top:1px solid #aeb1a8}
.partner-monogram{display:grid;place-items:center;width:72px;height:72px;background:var(--ink);color:#fff;font-size:18px;letter-spacing:.08em}
.partner-copy .eyebrow{margin-bottom:10px;color:#777a72}
.partner-copy h3{font-size:clamp(25px,2.4vw,36px);font-weight:400;letter-spacing:-.035em;margin-bottom:17px}
.partner-copy p{max-width:470px;color:#555951;line-height:1.75}
.form-control{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:13px 0}
.form-control:focus{border-color:var(--accent);background:transparent;box-shadow:none}
.readmore,.btn-primary{border:1px solid var(--ink);border-radius:0;background:var(--ink);color:#fff;padding:14px 22px}
.readmore:hover,.btn-primary:hover{border-color:var(--accent);background:var(--accent);color:#fff}
.site-portfolio .container{max-width:1180px}
.project-gallery .gallery-main,.project-gallery .gallery-main .main-photo{border-radius:0}
.project-gallery .gallery-main .main-photo{box-shadow:none}
body:not(.home-page) .project-gallery .gallery-main{display:block;height:auto;min-height:0;max-height:none;overflow:visible}
body:not(.home-page) .project-gallery .gallery-main .main-photo{width:100%;height:auto;max-height:none;object-fit:contain}
.project-detail-page{padding-top:clamp(56px,7vw,100px)!important}
.project-detail-shell{width:min(80vw,1440px);max-width:none!important;padding-right:0!important;padding-left:0!important}
.project-detail-header{margin:0 0 clamp(22px,2vw,34px)}
.project-detail-kicker{display:flex;gap:8px;margin:0 0 10px;color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.project-detail-header h1{font-size:clamp(42px,4.15vw,64px)!important;line-height:1;margin:0}
.project-detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:clamp(38px,3.5vw,62px);align-items:start}
.project-detail-media{min-width:0}
.project-detail-page .gallery-main{aspect-ratio:1.86;background:var(--paper);overflow:hidden;cursor:zoom-in}
.project-detail-page .gallery-main .main-photo{width:100%!important;height:100%!important;object-fit:contain!important}
.project-gallery-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-top:22px}
.project-detail-page .gallery-thumbs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;justify-content:initial!important;flex-wrap:initial!important;max-width:75%;margin:0!important}
.project-detail-page .gallery-thumbs .thumb{position:relative;width:auto!important;height:auto!important;aspect-ratio:1.55;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:transparent;padding:0 0 8px;overflow:hidden;cursor:pointer}
.project-detail-page .gallery-thumbs .thumb:hover,.project-detail-page .gallery-thumbs .thumb.is-active{border-bottom-color:var(--accent)!important}
.project-detail-page .gallery-thumbs .thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0!important}
.project-detail-page .thumb-count{position:absolute;inset:0 0 8px;display:grid;place-items:center;background:rgba(13,30,45,.58);color:#fff;font-size:18px}
.gallery-position{display:flex;align-items:center;gap:4px;white-space:nowrap;color:#777a72;font-size:13px;padding-bottom:10px}
.gallery-position button{width:39px;height:39px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--ink);font-size:23px;line-height:1;margin-left:10px;cursor:pointer}
.gallery-position button+button{margin-left:0}
.gallery-position button:hover{color:var(--accent)}
.project-detail-info{padding-top:8px}
.project-detail-type{margin:0 0 16px;color:#696c65;font-size:12px}
.project-detail-description{font-size:12px;line-height:1.45;color:var(--ink)}
.project-detail-description p{margin:0}
.project-facts{margin:16px 0 0;border-top:1px solid var(--line);font-size:12px}
.project-detail-info>.project-facts:first-child{margin-top:0}
.project-facts>div{display:grid;grid-template-columns:minmax(82px,.72fr) minmax(0,1.28fr);gap:16px;padding:7px 0;border-bottom:1px solid var(--line)}
.project-facts dt{color:#6f726b;font-weight:400}
.project-facts dd{margin:0;color:var(--ink)}
.project-detail-body{max-width:980px;margin:clamp(70px,9vw,140px) auto 0;font-size:17px;line-height:1.75}
@media(max-width:1100px){.project-detail-shell{width:auto;padding-right:var(--gutter)!important;padding-left:var(--gutter)!important}.project-detail-layout{grid-template-columns:minmax(0,1.95fr) minmax(245px,1fr);gap:32px}.project-detail-page .gallery-main{aspect-ratio:1.75}}
@media(max-width:900px){.project-detail-layout{grid-template-columns:1fr}.project-detail-page .gallery-main{aspect-ratio:1.86}.project-detail-info{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:35px 55px;padding-top:0}.project-detail-type{grid-column:1/-1;margin-bottom:0}.project-facts{margin-top:0}}
@media(max-width:650px){.project-detail-page{padding-top:40px!important}.project-detail-header{margin-bottom:26px}.project-detail-header h1{font-size:clamp(42px,14vw,64px)!important}.project-detail-kicker{font-size:10px;letter-spacing:.16em}.project-detail-page .gallery-main{aspect-ratio:1.2}.project-gallery-toolbar{display:block}.project-detail-page .gallery-thumbs{max-width:none;gap:8px}.gallery-position{justify-content:flex-end;margin-top:12px}.project-detail-info{display:block}.project-detail-type{margin:0 0 24px}.project-facts{margin-top:28px}}
.contact-page-shell{padding:clamp(54px,7vw,105px) var(--gutter) clamp(85px,10vw,150px)}
.contact-page-intro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr);column-gap:8vw;align-items:end;padding-bottom:clamp(55px,7vw,95px);border-bottom:1px solid var(--line)}
.contact-page-intro>.eyebrow{grid-column:1/-1;margin-bottom:28px}
.contact-page-intro h1{font-family:Arial,sans-serif;font-size:clamp(52px,6.4vw,104px);font-weight:400;line-height:.98;letter-spacing:-.06em}
.contact-page-intro p{max-width:470px;color:#555951;font-size:17px;line-height:1.75;padding-bottom:8px}
.contact-page-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(250px,.7fr);gap:8vw;padding-top:clamp(55px,7vw,95px)}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;row-gap:34px}
.contact-field--wide{grid-column:1/-1}
.contact-field label{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px;font-size:13px;font-weight:500}
.contact-field .optional{color:#7b7e76;font-size:11px;font-weight:400;letter-spacing:.04em;text-transform:uppercase}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:0;border-bottom:1px solid #aeb1a8;border-radius:0;background:transparent;color:var(--ink);font:inherit;padding:10px 1px 13px;outline:0}
.contact-field textarea{display:block;resize:vertical;min-height:122px;line-height:1.6}
.contact-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 12px) 19px,calc(100% - 7px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--accent);box-shadow:0 1px 0 var(--accent)}
.contact-field [aria-invalid=true]{border-color:#a13d2d}
.contact-field-error,.contact-form-error{margin-top:8px;color:#a13d2d;font-size:12px}
.contact-submit-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:40px}
.contact-submit-row>p{max-width:390px;color:#70736b;font-size:12px;line-height:1.55}
.contact-submit-row button{display:flex;align-items:center;justify-content:space-between;gap:42px;min-width:210px;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:15px 18px;font:inherit;font-size:14px}
.contact-submit-row button:hover{border-color:var(--accent);background:var(--accent)}
.contact-submit-row button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.contact-studio-details{display:flex;flex-direction:column;gap:44px;padding-left:3vw;border-left:1px solid var(--line)}
.contact-studio-details>div{display:grid;gap:11px}
.contact-studio-details .eyebrow{color:#74776f}
.contact-studio-details a,.contact-studio-details address{font-size:15px;line-height:1.65;font-style:normal}
.contact-success{max-width:700px;padding:5px 0 45px}
.contact-success h2{font-family:Arial,sans-serif;font-size:clamp(42px,5vw,72px);font-weight:400;line-height:1.08;letter-spacing:-.05em;margin:24px 0}
.contact-success p{max-width:470px;color:#555951;font-size:17px;line-height:1.7;margin-bottom:34px}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.brand-word{color:#a35328;text-transform:lowercase}
.brand-name{color:#a35328;text-transform:lowercase}
.contact-studio-details a[href*="instagram.com"]{color:#111}
.contact-studio-details a[href*="instagram.com"]:hover{color:#a35328}
.work-page .work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.work-page .work-grid>.item{width:auto;min-width:0;margin:0;padding:0;position:static!important;transform:none!important}
.work-page .work-grid>.item[hidden]{display:none!important}
.work-page .work-grid .item-wrap img{display:block;width:100%;height:auto}
@media(max-width:700px){.work-page .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
.careers-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);gap:8vw;align-items:start}
.careers-copy>h1{margin:12px 0 22px}
.careers-copy>p{max-width:580px;color:#555951;font-size:17px;line-height:1.7;margin-bottom:45px}
.careers-form{display:grid;gap:27px}
.careers-check{display:flex;align-items:center;gap:11px;font-size:14px}
.careers-check input{accent-color:var(--accent)}
.careers-or{display:flex;align-items:center;gap:15px;color:#767970;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.careers-or:before,.careers-or:after{content:'';height:1px;background:var(--line);flex:1}
.careers-form .btn{justify-self:start;margin-top:8px}
.careers-image{position:sticky;top:30px;margin:0;aspect-ratio:3/4;overflow:hidden;background:#ddd}
.careers-image img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.about-columns{margin-left:0}}
@media(max-width:600px){
  .inner-hero--image{height:63svh;min-height:420px}
  .inner-hero-copy{bottom:32px}
  .about-content{padding-top:65px;padding-bottom:85px}
  .about-lead{font-size:36px}
  .about-columns{grid-template-columns:1fr;gap:15px}
  .partners-heading,.partners-grid{grid-template-columns:1fr}
  .partners-heading{gap:22px}
  .partner-profile{grid-template-columns:56px 1fr;column-gap:18px}
  .partner-monogram{width:56px;height:56px;font-size:15px}
  .contact-page-intro,.contact-page-layout{grid-template-columns:1fr}
  .contact-page-intro p{margin-top:28px;padding:0}
  .contact-fields{grid-template-columns:1fr;row-gap:28px}
  .contact-field--wide{grid-column:auto}
  .contact-submit-row{display:block;margin-top:34px}
  .contact-submit-row button{width:100%;margin-top:23px}
  .contact-studio-details{margin-top:64px;padding:44px 0 0;border-top:1px solid var(--line);border-left:0}
  .careers-layout{grid-template-columns:1fr;gap:54px}
  .careers-image{position:static;order:-1;max-height:68svh}
}
