/* Homeworks identity: original logo navy #244765, blue #286986 and orange #E1772B, on warm white. */
:root{
  --brand-navy:#244765;
  --brand-blue:#286986;
  --brand-orange:#e1772b;
  --button-ink:#142a3d;
  --bg:#fbfaf6;
  --panel:#eef3f7;
  --cyan:#286986;
  --white:#244765;
  --muted:#596d7b;
  --line:rgba(36,71,101,.18);
  --ink:#244765;
  --sand:#f2f0e8;
  --orange:#e1772b;
}
body{background:var(--bg);color:var(--ink)}
::selection{background:#d8e8f1;color:var(--ink)}
.button.primary{background:var(--brand-orange);color:var(--button-ink);font-weight:700}
.button.primary:hover{background:#f08b42;color:var(--button-ink)}
.text-link.light{color:var(--cyan)}
.skip-link{color:#fff}
.signal,.preview-dot{background:var(--brand-orange);box-shadow:none}
.preview-bar{background:#eaf0f5;color:#506577}
.preview-bar strong{color:#244765}
.site-header{background:#fffefaed;border-bottom-color:#d9e1e7}
.brand img{filter:none}
.desktop-nav a{color:#405a70}
.header-cta{border-color:var(--brand-orange);background:var(--brand-orange);color:var(--button-ink);font-weight:700}
.header-cta:hover{background:#f08b42;border-color:#f08b42;color:var(--button-ink)}
.language-switch{color:#7b8fa0}
.language-switch button{color:#536d82}
.language-switch{gap:0;border:1px solid #c5d3df}
.language-switch>span{display:none}
.language-switch button{padding:5px 9px;min-width:32px}
.language-switch button[aria-pressed=true]{color:#fff;background:var(--brand-navy)}
.mobile-nav{background:#fffefa}
.icon-button{color:var(--ink);background:#ffffff70}
.hero{background:#f8f7ef;min-height:650px}
.hero-image{width:65%;left:auto;right:0;object-position:center 58%}
.hero-shade{background:linear-gradient(90deg,#f8f7ef 0%,#f8f7ef 30%,#f8f7eff5 41%,#f8f7efb8 52%,#f8f7ef00 70%)}
.hero:after{background:none}
.hero-content{padding-top:75px;padding-bottom:32px}
.hero h1{font-size:clamp(64px,6.1vw,88px);line-height:1.04;color:#244765;letter-spacing:-.06em}
.hero h1 span{color:#286986}
.hero-content>p{color:#4c6275;max-width:435px;line-height:1.85}
.hero-actions .button{box-shadow:0 7px 24px #e1772b20}
.hero-index{color:#62778a;opacity:1}
.hero-bottom{margin-top:63px}
.image-label{background:#fffef3ed;border:0;border-left:3px solid #e1772b;padding:14px 20px;box-shadow:0 8px 25px #24476514;margin-right:0}
.image-label>span{color:#667b8a}
.image-label p{color:#244765}
.trust-strip{background:#fffefa;border-color:#d9e1e7}
.trust-number{color:#a34c19}
.trust-grid p{color:#5c7182}
.services{background:#fbfaf6}
.service-feature{background:#e4eaf0;color:#fff}
.service-feature>img{opacity:1}
.service-feature-shade{background:linear-gradient(0deg,#1b3d5ae8 0%,#1b3d5a42 45%,transparent 75%)}
.service-feature-copy>span:last-child{color:#f3f3e8}
.service-id{background:#fffbe9ed;color:#244765;padding:5px 8px;font-weight:600}
.round-arrow{color:#fff;background:#ffffff1a;border-color:#ffffff8a}
.service-feature:hover .round-arrow{background:#fff9e9;color:#244765;border-color:#fff9e9}
.service-number{color:#9d4c20}
.plus{color:#486e8b}
.projects{background:#f0eee5}
.projects p{color:#596e7f}
.project-note{background:#fffcf3;border-color:#d8dee3}
.project-note:hover{background:#e8f0f6}
.project-info .eyebrow,.projects .eyebrow{color:#286986}
.project-open{background:#fffdf4}
.note-top>.icon:first-child{color:var(--brand-blue)}
.note-top>span{color:#597084}
.photo-count{background:#244765e6}
.about{background:#fffefa}
.about-image>img{opacity:1}
.about-image:after{background:linear-gradient(0deg,#183b5788,transparent 35%)}
.about-copy>p.lead{color:#365972}
.image-note{color:#62768a}
.reviews{background:#edf3f7;border-color:#d4e0e8}
.source-note{color:#526d81}
.review-carousel blockquote>p{color:#244765}
.avatar{background:#ffeddd;border-color:#e9bf9e;color:#7b3c14}
blockquote footer div>span{color:#597084}
.review-dots button:after{background:#bccedb}
.translation-note{color:#597084}
.full-reviews article{background:#fffdf7;border-color:#d6e0e8}
.full-reviews blockquote>p{color:#36556d}
.coverage{background:#faf7ed}
.coverage-top>p{color:#63717d}
.coast-line:before{background:linear-gradient(90deg,#d6d7cf,#286986,#d6d7cf)}
.coast-line>span{background:#faf7ed;color:#286986}
.coast-line i{outline-color:#faf7ed;background:var(--brand-orange)}
.towns{color:#5b6e7d}
.contact{background:#f0f4f7}
.contact-options>a>.icon:last-child{color:#286986}
.contact-options small{color:#5d7486}
.enquiry-form{background:#fffefa;border-color:#ccdce7;box-shadow:0 18px 50px #24476507}
.field label{color:#3f5c73}
.field input,.field select,.field textarea{background:#f8fafb;color:#244765;border-color:#c5d5e0}
.field input::placeholder,.field textarea::placeholder{color:#657c8d}
.field [aria-invalid=true]{border-color:#a14721}
.field-error{color:#9b3f1b}
.enquiry-form>p.privacy{color:#5c7386}
.form-status{background:#e9f2f8;border-color:#8faec4;color:#244765}
.site-footer{background:#f9f7ef;border-top:1px solid #dee2e5}
.footer-grid h3{color:#244765}
.footer-grid p,.footer-grid nav>a{color:#607587}
.footer-bottom{color:#5c7184}
.footer-bottom a{color:#244765}
dialog{background:#fffefa;color:var(--ink);border-color:#bbccda;box-shadow:0 30px 100px #24476533}
dialog::backdrop{background:#24476566;backdrop-filter:blur(5px)}
.dialog-top{background:#fffefaef}
.gallery>img{background:#e9eef3}
.photo-placeholder{background:#f0f4f8}
.mobile-contact{background:#fffef8f5;border-color:#c6d7e3}
.mobile-contact a:first-child{border-color:#0b8445;background:#0b8445;color:#fff}
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:40;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#0b8445;color:#fff;box-shadow:0 6px 22px #163f2c38;border:2px solid #fff;transition:background .2s}
.whatsapp-float .icon{width:29px;height:29px}
.whatsapp-float:hover{background:#066534;color:#fff}
.whatsapp-float:focus-visible{outline:3px solid var(--brand-navy);outline-offset:4px}
@media(max-width:650px){.whatsapp-float{display:none}.mobile-contact a:first-child .icon{width:21px;height:21px}}
.mobile-contact a:last-child{background:var(--brand-orange);color:var(--button-ink)}
.projects button:focus-visible{outline-color:#244765}
@media(min-width:1600px){
  .hero{min-height:730px}
  .hero-content{padding-top:95px}
  .hero h1{font-size:106px}
  .hero-content>p{max-width:475px}
  .hero-bottom{margin-top:80px}
}
@media(max-width:1150px){
  .hero h1{font-size:76px}
  .hero-image{width:70%;object-position:60% center}
  .hero-shade{background:linear-gradient(90deg,#f8f7ef 0%,#f8f7effa 27%,#f8f7efed 40%,#f8f7ef6e 60%,#f8f7ef00 78%)}
}
@media(max-width:950px){
  .hero h1{font-size:68px}
  .hero-image{width:100%;object-position:65% center}
  .hero-shade{background:linear-gradient(90deg,#f8f7effa 0%,#f8f7eff5 33%,#f8f7efbd 60%,#f8f7ef21)}
  .hero-content>p{max-width:410px}
  .hero-bottom{margin-top:60px}
  .hero-index{max-width:140px}
}
@media(max-width:650px){
  .hero{min-height:780px}
  .hero-content{padding-top:49px;padding-bottom:25px}
  .hero h1{font-size:clamp(45px,10.5vw,68px)}
  .hero-content>p{color:#4d6479;font-size:14px;margin-top:22px}
  .hero-image{height:300px;top:auto;bottom:0;width:100%;object-position:center 62%}
  .hero-shade{background:linear-gradient(180deg,#f8f7ef 0%,#f8f7ef 54%,#f8f7efee 61%,#f8f7ef00 77%)}
  .hero-actions{margin-top:28px}
  .hero-bottom{margin-top:120px}
  .image-label{padding:11px 14px;background:#fffdf3ee;max-width:285px}
  .image-label p{font-size:13px}
  .image-label>span{font-size:7px}
  .preview-bar{background:#eaf0f5}
}
@media(max-width:370px){
  .hero{min-height:810px}
  .hero h1{font-size:43px}
  .hero-bottom{margin-top:115px}
}

/* Full service and project catalogue. */
.work-showcase{scroll-margin-top:115px}
.work-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin:0 0 32px}
.work-intro h2{font-size:38px;margin-top:12px}.work-intro>p{max-width:480px;font-size:14px;line-height:1.8}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.work-card{display:flex;flex-direction:column;text-align:left;background:#fffefa;padding:0;border:1px solid #d0dbe3;min-width:0}
.work-cover{display:block;position:relative;height:290px;overflow:hidden;background:#e4edf3;width:100%}
.work-cover>img{width:100%;height:100%;object-fit:cover;object-position:center 58%;transition:transform .3s}
.work-card:hover .work-cover>img{transform:scale(1.025)}
.work-card:nth-child(3) .work-cover>img{object-position:center 68%}
.video-card .work-cover>img{object-position:center 40%}
.video-play{position:absolute;inset:0;margin:auto;display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:var(--brand-orange);color:var(--button-ink);font-size:23px;padding-left:4px;box-shadow:0 5px 30px #24476530}
.work-copy{padding:26px 28px;display:grid;gap:12px}
.work-copy>strong{font-weight:600;font-size:29px;letter-spacing:-.045em;line-height:1.15}
.work-copy>span:last-child{font-size:13px;line-height:1.75;color:#596e7f}
.legacy-featured{margin-top:65px;padding-top:45px;border-top:1px solid var(--line)}
.portfolio-subheading{font-size:36px;margin:85px 0 30px}
.work-dialog h2{font-size:35px;max-width:none}
.work-dialog figure{margin:25px 0 16px}
.work-gallery-main{height:min(48vh,510px);width:100%;object-fit:contain;background:#eaf0f4}
.work-dialog figcaption{font-size:12px;color:#536d80;padding-top:12px}
.work-gallery-controls{display:flex;gap:15px;align-items:center}
.work-gallery-controls>.icon-button{flex-shrink:0}.work-prev .icon{transform:rotate(180deg)}
.work-thumbnails{display:flex;gap:8px;flex:1;overflow-x:auto;padding:5px}
.work-thumbnails button{flex:0 0 65px;padding:0;background:transparent;border:2px solid transparent}
.work-thumbnails button[aria-pressed=true]{border-color:var(--brand-blue)}
.work-thumbnails img{width:100%;height:50px;object-fit:cover}
.work-video{display:block;max-height:58vh;width:100%;background:#eaf0f4}
.complete-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.service-card{background:#fffefa;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.service-card-image{position:relative;aspect-ratio:1.6;overflow:hidden;background:#e5edf2}
.service-card-image img{width:100%;height:100%;object-fit:cover}
.service-card-image>span{position:absolute;top:14px;left:14px;padding:4px 8px;background:#fffef3ed;font-size:10px;color:var(--brand-navy)}
.service-card-copy{padding:24px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.service-card-copy h3{font-size:23px;line-height:1.16;letter-spacing:-.04em}
.service-card-copy>p{font-size:13px;line-height:1.8;margin:16px 0 24px}
button.text-link{background:transparent}
.service-card-copy .text-link{margin-top:auto;font-size:11px;gap:15px}
.breadcrumbs{display:flex;gap:15px;align-items:center;font-size:12px;margin-bottom:36px;color:var(--brand-blue)}
.breadcrumbs a{display:flex;gap:10px;align-items:center;border-bottom:1px solid transparent}
.breadcrumbs a:hover{border-bottom-color:currentColor}
.breadcrumbs .icon{width:17px;height:17px;transform:rotate(180deg)}
.project-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.project-filters button{display:flex;align-items:center;gap:12px;padding:12px 15px;background:#fffefa;border:1px solid #ccd6de;font-size:12px;color:var(--brand-navy);min-height:44px}
.project-filters button[aria-pressed=true]{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}
.project-filters button>span{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:20px;height:20px;font-size:10px;opacity:.8}
.portfolio-count{font-size:11px;margin-bottom:24px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.portfolio-card{background:#fffefa;border:1px solid #d5dde2;display:flex;flex-direction:column;min-width:0}
.portfolio-card.with-photos{grid-column:span 2}
.portfolio-photo{display:block;padding:0;position:relative;height:310px;width:100%;overflow:hidden;background:#dce7ed}
.portfolio-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 58%;transition:transform .3s}
.portfolio-photo:hover>img{transform:scale(1.025)}
.portfolio-illustration>img{object-position:center}
.illustration-label{position:absolute;left:12px;bottom:12px;padding:6px 9px;background:#fffefaed;color:#244765;font-size:10px;line-height:1.3;letter-spacing:.02em;box-shadow:0 2px 8px #142a3d12}
.project-note-illustrated{display:grid;grid-template-columns:36% minmax(0,1fr);padding:0;overflow:hidden}
.project-note-media{position:relative;display:block;min-height:220px;background:#e5edf2}
.project-note-media>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:48% center}
.project-note-copy{display:flex;flex-direction:column;align-items:flex-start;padding:24px;min-width:0}
.project-note-copy>strong{font-size:25px;line-height:1.12;letter-spacing:-.035em;margin:12px 0}
.project-note-description{font-size:12px;line-height:1.7}
.project-note-copy>.text-link{margin-top:auto;padding-top:20px}
.project-illustration-detail{margin:0}
.project-illustration-detail>img{display:block;width:100%;max-height:410px;object-fit:contain;background:#f3f0e8}
.project-illustration-detail>figcaption{font-size:12px;line-height:1.6;padding:12px 0;color:#4c6275}
@media(max-width:950px) and (min-width:651px){.project-note-illustrated{grid-template-columns:1fr}.project-note-media{min-height:170px}.project-note-copy{padding:22px}}
@media(max-width:650px){.project-note-illustrated{display:block;padding:0}.project-note-media{min-height:220px}.project-note-media>img{object-position:center}.project-note-copy{padding:24px}.project-note-copy>strong{font-size:27px}.project-note-description{font-size:13px}.project-illustration-detail>img{max-height:300px}}
.portfolio-mark{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 28px 0}
.portfolio-mark>.icon{width:35px;height:35px;color:var(--brand-blue)}
.portfolio-mark>span{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#5a7184}
.portfolio-card-copy{padding:28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.portfolio-card-copy h2{font-size:29px;line-height:1.14;margin:13px 0 17px}
.portfolio-card-copy>p:not(.eyebrow){font-size:14px;line-height:1.75;margin-bottom:25px}
.portfolio-card-copy .text-link{font-size:12px;margin-top:auto}
.all-projects-link{margin-top:40px;display:flex;justify-content:center}
.dialog-close{display:flex;align-items:center;gap:14px;min-height:44px;padding:8px 12px;font-size:12px;background:#fffefa;border:1px solid #c7d4df;color:var(--brand-navy)}
.dialog-close:hover{background:#eaf2f7}
.photo-availability{display:flex;align-items:center;gap:12px;font-size:12px;background:#f0f4f7;padding:15px 18px;border-left:2px solid var(--brand-blue)}
.photo-availability .icon{width:21px;height:21px;color:var(--brand-blue)}
.project-feedback{padding:25px 28px;background:#f4f2e9;margin-top:25px}
.project-feedback .eyebrow{margin-bottom:15px}
.project-feedback blockquote{margin:15px 0 0}
.project-feedback blockquote>p{font-size:14px;line-height:1.8;color:#36556d}
.project-feedback blockquote footer{margin-top:18px;display:flex;gap:15px;align-items:center;font-size:11px}
@media(max-width:1150px){.complete-services{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-nav{gap:15px}.header-actions{gap:12px}}
@media(max-width:950px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 .work-intro{display:block;margin-bottom:25px}.work-intro h2{font-size:33px}.work-intro>p{margin-top:20px;font-size:13px}
 .work-grid{grid-template-columns:1fr;gap:20px}.work-cover{height:260px}.work-copy{padding:23px}.work-copy>strong{font-size:27px}
 .portfolio-subheading{font-size:31px;margin-top:60px}.legacy-featured{margin-top:45px;padding-top:35px}
 .work-dialog h2{font-size:29px}.work-gallery-main{height:42vh}.work-gallery-controls{gap:7px}.work-thumbnails{gap:6px}
 .complete-services,.portfolio-grid{grid-template-columns:1fr;gap:20px}
 .service-card-copy{padding:24px}.service-card-copy h3{font-size:26px}
 .portfolio-card.with-photos{grid-column:auto}.portfolio-photo{height:260px}
 .portfolio-card-copy{padding:24px}.portfolio-card-copy h2{font-size:28px}
 .project-filters{gap:8px}.project-filters button{font-size:11px;padding:10px 12px;gap:8px}
 .breadcrumbs{margin-bottom:27px;font-size:11px}.all-projects-link .button{width:100%}
 .dialog-top{gap:12px}.dialog-close{font-size:10px;gap:8px;flex-shrink:0;padding:7px 9px}
 .dialog-close .icon{width:17px;height:17px}.project-feedback{padding:21px}
 .project-feedback blockquote>p{font-size:13px}.project-feedback blockquote footer{flex-wrap:wrap;gap:5px 15px}
}

.privacy-link{text-decoration:underline}.form-status .button{margin-top:18px}.privacy-page{max-width:920px}.privacy-page h1{font-size:clamp(40px,6vw,64px);margin:28px 0 42px}.privacy-page article{margin:32px 0}.privacy-page h2{font-size:26px;letter-spacing:-.025em;margin-bottom:14px}.privacy-page p{line-height:1.8}.footer-bottom>span:first-child>a{margin-left:12px;text-decoration:underline}
