/* Photography and longer editorial content, with a tighter page rhythm. */
.section{padding-top:68px;padding-bottom:68px}.section-head{margin-bottom:32px}.section-head h2{margin-bottom:18px}.studio-intro{gap:65px}.studio-copy p{margin-bottom:17px}.method-editorial{display:grid;grid-template-columns:1fr 1fr;background:#eef0f5}.method-visual{position:relative;min-height:680px}.method-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:43% center}.method-visual>span{position:absolute;left:30px;bottom:25px;font-size:10px;letter-spacing:2px;color:#fff;background:#263248d9;padding:9px 13px}.method-copy{padding:65px clamp(30px,5vw,85px);align-self:center}.method-copy h2{font-size:39px}.method-copy>p{font-size:15px;color:#525e70}.method-points{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid #cbd0da;margin:25px 0}.method-points p{font-size:13px;line-height:1.7}.method-points strong{display:block;color:#424f70;font:21px/1.3 Georgia;margin-bottom:10px}.editorial-banner{position:relative;isolation:isolate;min-height:440px;display:flex;align-items:center;overflow:hidden;background:#303c52;color:white}.editorial-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;z-index:-2}.editorial-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1c293ee8,#1c293e9c 60%,#1c293e38);z-index:-1}.editorial-banner>div{padding:65px max(6%,calc((100% - 1200px)/2));width:100%}.editorial-banner h1,.editorial-banner h2{color:#fff;font-size:clamp(35px,4vw,54px);max-width:850px;line-height:1.15;margin:0 0 22px}.editorial-banner p{max-width:660px;font-size:17px;line-height:1.8;margin:0;color:#fff}.editorial-banner .eyebrow{color:#f1dfbd}.editorial-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.editorial-cards article{background:#f2f4f7;display:flex;flex-direction:column;min-width:0}.article-photo{display:block;height:240px;overflow:hidden}.article-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.article-photo:hover img{transform:scale(1.025)}.article-copy{padding:28px;display:flex;flex-direction:column;flex:1}.article-copy h3{font-size:27px;line-height:1.25;margin:0 0 18px}.article-copy p{font-size:14px;line-height:1.8;color:#566274;margin:0 0 20px}.article-copy .eyebrow{font-size:9px;letter-spacing:1.4px}.article-copy .text-link{margin-top:auto;align-self:flex-start}.editorial-journal>.button{margin-top:34px}.editorial-disclaimer{max-width:800px;color:#5c6674;font-size:14px}.editorial-lead{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;margin-bottom:35px}.editorial-lead h2{font-size:38px}.editorial-lead p{margin:0;color:#566274}.method-stages{display:grid;grid-template-columns:1fr 1fr;gap:35px 50px}.method-stages article{display:grid;grid-template-columns:45px 1fr;gap:20px;border-top:1px solid #cdd3de;padding-top:25px}.stage-number{font:32px Georgia;color:#7d8aa4}.method-stages h2{font-size:29px;line-height:1.25;margin-bottom:18px}.method-stages p{font-size:15px;color:#566274}.method-stages .stage-result{border-left:2px solid #9a8054;padding-left:15px;font-style:italic}.preparation{background:#eef0f5;text-align:center}.preparation p{max-width:790px;margin:0 auto 28px}.editorial-reading{max-width:900px;padding-top:42px;padding-bottom:60px}.editorial-reading p{font-size:17px;line-height:1.9}.editorial-reading h2{margin-top:34px}.editorial-reading .note{font-size:13px}.editorial-reading .button{margin-top:20px}.editorial-cards article[hidden]{display:none}.local-context .section-head{max-width:980px}.local-context .section-head>p{max-width:800px}.university-focus{gap:25px}.contact-band{padding-top:50px;padding-bottom:50px}
@media(max-width:1000px){.method-copy{padding:42px 30px}.method-copy h2{font-size:33px}.method-points{grid-template-columns:1fr;gap:0}.editorial-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-cards article:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.editorial-cards article:last-child:nth-child(odd) .article-photo{height:100%;min-height:270px}.editorial-lead{gap:35px}.method-stages{gap:30px}.studio-intro{gap:40px}}
@media(max-width:700px){.section{padding-top:48px;padding-bottom:48px}.method-editorial{grid-template-columns:1fr}.method-visual{min-height:330px}.method-copy{padding:38px 6%}.method-copy h2{font-size:32px}.method-points{grid-template-columns:1fr 1fr;gap:18px}.editorial-banner{min-height:390px}.editorial-banner>div{padding:50px 6%}.editorial-banner h1,.editorial-banner h2{font-size:35px}.editorial-banner p{font-size:15px}.editorial-cards{grid-template-columns:1fr;gap:25px}.editorial-cards article:last-child:nth-child(odd){display:flex;grid-column:auto}.editorial-cards article:last-child:nth-child(odd) .article-photo,.article-photo{height:230px;min-height:0}.article-copy{padding:25px}.editorial-lead,.method-stages{grid-template-columns:1fr;gap:25px}.editorial-lead h2{font-size:32px;margin-bottom:0}.method-stages article{grid-template-columns:35px 1fr;gap:15px}.method-stages h2{font-size:27px}.editorial-reading p{font-size:16px}.editorial-reading{padding:30px 6% 45px}.method-visual>span{left:6%;bottom:18px;font-size:9px}.section-head h2{margin-bottom:18px}.contact-band{padding-top:40px;padding-bottom:40px}}
/* Larger half-page portrait for the studio introduction. */
.studio-intro.section{grid-template-columns:1fr 1fr;padding:0;gap:0;align-items:stretch}.studio-intro .studio-photo{padding:0;margin:0;max-width:none;min-height:760px;position:relative}.studio-intro .studio-photo:before{display:none}.studio-intro .studio-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%}.studio-intro .studio-photo span{position:absolute;bottom:0;left:0;right:0;padding:65px 35px 28px;background:linear-gradient(transparent,#152237d9);color:#fff;font-size:21px}.studio-intro .studio-copy{padding:65px clamp(35px,5vw,85px);align-self:center}.studio-intro .studio-copy h2{font-size:42px}@media(max-width:1000px){.studio-intro .studio-photo{min-height:680px}.studio-intro .studio-copy{padding:45px 30px}.studio-intro .studio-copy h2{font-size:34px}}@media(max-width:700px){.studio-intro.section{grid-template-columns:1fr}.studio-intro .studio-photo{min-height:0;height:620px}.studio-intro .studio-copy{padding:42px 6%}.studio-intro .studio-copy h2{font-size:32px}.studio-intro .studio-photo span{padding:55px 6% 24px;font-size:19px}}@media(max-width:420px){.studio-intro .studio-photo{height:540px}}
/* Practice cards reveal extra context without moving neighbouring sections. */
.areas .photo-card{transition:transform .28s ease,box-shadow .28s ease,background .28s ease;transform-origin:center;z-index:0}.areas .photo-card .card-detail{display:block;font-size:13px;line-height:1.7;color:#46536a;border-top:1px solid #c9d0de;padding-top:14px;margin-top:18px}.areas .photo-card:focus-visible{z-index:2;box-shadow:0 16px 36px #26354b24;background:#fff}.areas .photo-card .arrow{transition:transform .28s ease}
@media(hover:hover) and (pointer:fine){.areas .photo-card .card-detail{opacity:0;visibility:hidden;transform:translateY(9px);transition:opacity .25s ease,transform .25s ease,visibility .25s}.areas .photo-card:hover,.areas .photo-card:focus-visible{transform:translateY(-7px) scale(1.025);z-index:2;box-shadow:0 16px 36px #26354b24;background:#fff}.areas .photo-card:hover .card-detail,.areas .photo-card:focus-visible .card-detail{opacity:1;visibility:visible;transform:none}.areas .photo-card:hover .arrow,.areas .photo-card:focus-visible .arrow{transform:translate(3px,-3px)}}
@media(prefers-reduced-motion:reduce){.areas .photo-card,.areas .photo-card .card-detail,.areas .photo-card .arrow{transition:none!important;transform:none!important}}
/* Deep blue section backgrounds with a restrained geometric motif. */
.blue-section{background-color:#09294e;background-image:repeating-linear-gradient(60deg,transparent 0,transparent 219px,#b4a27d13 220px,transparent 221px),repeating-linear-gradient(120deg,transparent 0,transparent 219px,#b4a27d13 220px,transparent 221px);color:#fff}.blue-section .section-head h2{color:#fff}.blue-section .section-head .eyebrow{color:#e0cba4}.blue-section .section-head>p{color:#e4eaf2}.blue-section>.text-link{color:#fff;border-color:#aab8cb;margin-top:22px}.blue-section .photo-card,.blue-section .editorial-cards article{background:#fff}.blue-section .article-copy .text-link{color:#424f70}.blue-section>.button{background:#fff;color:#173453}.blue-section>.button:hover{background:#e4eaf2;color:#173453}#cookie-reopen{position:fixed;left:18px;bottom:18px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#0b4d85;color:white;border:2px solid white;box-shadow:0 3px 14px #0002;z-index:33;cursor:pointer}#cookie-notice{bottom:80px}#cookie-reopen:hover{background:#09294e}@media(max-width:700px){#cookie-reopen{left:12px;bottom:80px;width:44px;height:44px}#cookie-notice{bottom:auto;top:8px}}
/* Natural full colour; shading concentrated behind the introductory copy. */
.campaign-hero .hero-city{filter:none;object-position:center 58%}.campaign-hero:before{background:linear-gradient(90deg,#14243cce 0%,#14243c9c 38%,#14243c26 67%,transparent 100%)}@media(max-width:800px){.campaign-hero:before{background:linear-gradient(90deg,#14243cd9,#14243c59)}.campaign-hero .hero-city{object-position:60% center}}
/* Breathing room between the opening panorama and the portrait. */
.campaign-hero + .studio-intro.section{border-top:64px solid #fff}@media(max-width:700px){.campaign-hero + .studio-intro.section{border-top-width:34px}}

/* White breathing space between portrait and blue practice section. */
.studio-intro.section + .blue-section{border-top:48px solid #fff}@media(max-width:700px){.studio-intro.section + .blue-section{border-top-width:28px}}
/* Original photographic colours; contrast is confined to the text panel. */
.campaign-hero .hero-city{filter:none!important;opacity:1}
.campaign-hero:before{background:none!important}
.campaign-copy{width:auto;margin-left:6%;margin-right:auto;padding:32px 36px;max-width:650px;background:rgba(15,32,52,.82)}
.location-label{background:rgba(15,32,52,.8);padding:7px 11px}
@media(max-width:800px){.campaign-copy{margin:30px 6% 60px;padding:26px 24px;max-width:88%}.campaign-hero{min-height:650px}.campaign-hero .hero-city{filter:none!important}}
