@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
:root{--navy:#003b67;--red:#ff123d;--soft:#fafafa}*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--navy);font-family:Montserrat,Arial,sans-serif;background:#fff}
.container-xl{max-width:1140px}
h1,h2{font-weight:700;letter-spacing:-2.4px}
h2{font-size:64px}
.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;height:105px}
.site-header>.container-xl{height:100%}
.brand{display:flex;align-items:center;color:#202020;text-decoration:none;font-size:26px;font-weight:600;letter-spacing:-1.5px}
.brand i{width:28px;height:28px;margin-right:8px;border-radius:50%;background:conic-gradient(#f81442,#ffbf00,#51bd45,#00a7c7,#7836b5,#f81442);position:relative}
.brand i:after{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}
.navbar-collapse{align-items:stretch;height:100%}
.main-nav{height:100%;display:flex;align-items:stretch;margin:0 25px 0 45px;padding:0;list-style:none}.main-nav li{display:flex}
.main-nav a{display:flex;align-items:center;padding:0 27px;text-transform:uppercase;color:var(--red);font-size:13px;text-decoration:none}
.main-nav .active a{background:var(--navy);color:#fff;border-radius:0 0 22px 22px}.social{display:flex;align-items:center;gap:12px}
.social a{display:grid;place-items:center;color:var(--red);text-decoration:none;font-size:24px;font-weight:700}
.hero{height:790px;background-image:url('../images/design-reference.jpg');background-repeat:no-repeat;background-size:1920px auto;background-position:top center}
.hero-copy{padding-top:244px}.hero h1{font-size:62px;line-height:.91;margin:0 0 60px}
.hero p{font-size:18px;line-height:1.32;margin-left:85px;position:relative}
.hero p:before{content:'◎';position:absolute;left:-78px;top:4px;color:#8fa0ae;font-size:48px}
.btn-outline,.mini-btn{display:inline-flex;border:2px solid var(--red);border-radius:25px;color:var(--navy);font-size:13px;text-transform:uppercase;text-decoration:none;font-weight:600;padding:13px 22px;margin-top:50px}
.btn-outline span{font-size:22px;line-height:12px;margin-left:16px}
.dots{margin-top:55px;display:flex;gap:34px;align-items:center}
.dots i,.dots b{width:13px;height:13px;border-radius:50%;background:#fff}
.dots b{width:24px;height:24px;border:7px solid var(--red)}
.services{padding-top:95px}
.service-tab{height:155px;border-radius:20px;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-transform:uppercase;letter-spacing:7px;font-size:15px}
.service-tab span{font-size:23px;margin-bottom:10px}
.service-tab.photo{background:linear-gradient(#003b67e8,#003b67e8),url('../images/design-reference.jpg') center/cover}
.service-feature{padding:105px 0 120px}
.service-feature h2{margin-bottom:25px}
.service-feature p,.work-meta p{font-size:17px;line-height:1.5}
.arrows{display:inline-flex;margin-top:90px}
.arrows button{width:76px;height:76px;border:0;border-radius:20px;background:var(--red);color:#fff;font-size:37px;margin-right:4px}
.arrows button:last-child{background:#d8002d}
.progress-line{width:230px;height:6px;margin-top:125px;background:#eee}
.progress-line i{display:block;width:34%;height:100%;background:var(--red)}
.service-image{height:570px;border-radius:35px;background-image:url('../images/design-reference.jpg');background-repeat:no-repeat;background-size:1920px auto;background-position:-905px -1125px}
.works{padding:0 0 120px}
.section-head{margin-bottom:65px}
.section-head .mini-btn{margin:0 30px 0 0;padding:8px 25px;font-size:10px}
.section-head .arrows{margin:0}
.works-gallery{height:395px;background-image:url('../images/design-reference.jpg');background-size:1920px auto;background-position:center -1985px;background-repeat:no-repeat}
.work-meta{padding-top:90px}
.work-meta small{display:block;color:var(--red);text-transform:uppercase;font-weight:700;margin-bottom:32px}
.work-meta strong{font-size:20px;font-weight:400}
.work-meta .col-lg-2>i{display:block;width:62px;border-bottom:5px solid var(--red);margin-top:60px}
.clients{padding:0 0 140px}
.clients h2{margin:0 0 70px}
.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.client-grid>div{width: 279px;height:250px;background:var(--soft);border-radius:18px;display:grid;place-items:center;text-align:center;filter:grayscale(1);font-size:20px;font-weight:700;color:#555;padding:30px}
.show-more{display:block;margin:55px auto 0;border:0;background:none;color:var(--red);font-size:16px;font-weight:700}
.about{height:599px;background:linear-gradient(#003b67eb,#003b67eb),url('../images/design-reference.jpg') center -4030px/1920px auto no-repeat;color:white;position:relative}
.about>.container-xl{position:relative;height:100%}
.about-copy{padding-top:110px;width:55%}
.about h2{display:inline-block;margin-right:100px}
.about .mini-btn{color:#fff;padding:7px 20px;margin:0}
.about p{font-size:19px;line-height:1.55;margin-top:45px}
.founder{display:flex;align-items:center;gap:60px;margin-top:45px}
.founder b:before{content:'';display:inline-block;width:76px;height:76px;border-radius:50%;vertical-align:middle;margin-right:25px;background:linear-gradient(135deg,#fff,#333)}
.founder span{font-family:cursive;font-size:38px}
.about-image{position:absolute;right:0;top:-55px;width:500px;height:720px;border-radius:35px;background-image:url('../images/design-reference.jpg');background-size:1920px auto;background-position:-1010px -3910px}
.contact{padding:150px 0 140px}
.contact h2{margin-bottom:75px}
.contact input,.contact textarea{width:100%;border:0;background:var(--soft);border-radius:18px;padding:25px 30px;color:var(--navy);font-size:16px}
.contact textarea{height:270px;resize:none}
.contact button{margin-top:45px;border:0;border-radius:20px;background:var(--red);color:#fff;padding:20px 30px;font-size:24px}
.contact-info{margin-top:45px;border-left:2px solid var(--navy);padding-left:95px}
.contact-info h3{font-size:20px;color:var(--red);font-weight:700}
.contact-info p{font-size:17px;margin:14px 0}
.map{height:470px;background-image:url('../images/design-reference.jpg');background-repeat:no-repeat;background-size:1920px auto;background-position:center -5310px}
.site-footer{background:#fff}
.footer-main{min-height:125px}
.footer-main nav{display:flex;align-items:stretch;align-self:stretch}
.footer-main nav a{display:flex;align-items:center;padding:0 26px;color:var(--red);text-transform:uppercase;text-decoration:none;font-size:12px}
.footer-main nav .active{background:var(--navy);color:#fff;border-radius:20px 20px 0 0}
.copyright{background:var(--navy);color:#9baebe;padding:18px 0;font-size:11px;letter-spacing:.5px}
/* XS/mobile base; enhanced from 992px in breakpoint files. */
    h2{font-size:45px}
    .site-header{position:fixed;background:#fff;height:76px}
    .navbar-toggler{border:0}
    .navbar-collapse{position:absolute;top:76px;left:0;width:100%;height:auto;background:#fff;padding:15px 20px}
    .main-nav{display:block;margin:0;height:auto}
    .main-nav a,.main-nav .active a{padding:14px;background:none;color:var(--red)}
    .social{padding:10px 15px}
    .hero{height:720px;background-position:42% 0}
    .hero-copy{padding-top:180px}
    .hero h1{font-size:50px}
    .service-feature{padding:70px 12px}
    .service-image{margin-top:50px}
    .section-head{padding:0 12px}
    .works-gallery{background-position:47% -1985px}
    .about{height:auto;min-height:920px}
    .about-copy{width:100%;padding:80px 15px 600px}
    .about-image{top:auto;bottom:-40px;left:50%;right:auto;transform:translateX(-50%);width:min(90%,500px);height:600px}
    .contact{padding:110px 20px}
    .contact-info{padding-left:30px}
    .footer-main nav{flex-wrap:wrap;justify-content:center}
    .footer-main nav a{padding:16px}
    .footer-main nav .active{border-radius:14px}
    .client-grid{grid-template-columns:repeat(2,1fr)}

/* XS/mobile base; enhanced from 576px in breakpoint files. */
    h2{font-size:39px}
    .hero h1{font-size:43px}
    .hero p{margin-left:0;font-size:16px}
    .hero p:before{display:none}
    .hero{background-position:38% 0}
    .service-tabs{padding:0 12px}
    .service-image{height:410px;background-position:-1000px -1125px}
    .section-head{display:block!important}
    .section-head h2{margin-bottom:30px}
    .works-gallery{height:300px;background-position:49% -2025px}
    .client-grid{grid-template-columns:1fr}
    .client-grid>div{height:180px}
    .contact h2{font-size:42px}
    .contact-info{border-left:0;padding:10px 0}
    .map{height:330px;background-position:center -5350px}
    .footer-main{padding:35px 20px}
    .footer-main nav a{padding:12px}
    .copyright{text-align:center}

.footer-main .main-nav{margin:0;height:100%}
.footer-main .main-nav a{padding:0 26px}
.footer-main .main-nav .active a{border-radius:20px 20px 0 0}
.hero{background-color:#f4f1ed;background-image:url('../images/hero-background-v2.png');background-size:2100px auto;background-position:top center}
.about{background:var(--navy)}
.main-nav>li:first-child{display:none}
/* Bootstrap-compatible local fallback for offline XAMPP development. */
.row{display:flex;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}
.row>*{padding-left:12px;padding-right:12px}
.g-4{row-gap:24px}
.col-6{width:50%}
.col-12{width:100%}
.d-flex{display:flex}
.flex-column{flex-direction:column}
.align-items-center{align-items:center}
.justify-content-between{justify-content:space-between}
.justify-content-end{justify-content:flex-end}
.navbar-toggler{margin-left:auto;background:transparent;border:0;width:42px;height:42px;position:relative}
.navbar-toggler:before,.navbar-toggler:after,.navbar-toggler-icon{content:'';display:block;width:28px;height:2px;background:var(--navy);position:absolute;left:7px}
.navbar-toggler:before{top:12px}
.navbar-toggler-icon{top:20px}
.navbar-toggler:after{top:28px}

/* XS/mobile base; enhanced from 992px in breakpoint files. */
    .navbar-collapse.collapse:not(.show){display:none}
    .navbar-collapse.collapse.show{display:block}
    .footer-main .main-nav{display:flex;flex-wrap:wrap}
    .footer-main .main-nav>li:first-child{display:none}

/* Header proportions measured from the supplied 1600 x 130 menu reference. */


/* Drupal user login. */
.login-page{position:relative;isolation:isolate;min-height:790px;padding:175px 24px 100px;display:grid;place-items:start center;overflow:hidden;background:linear-gradient(135deg,#f8f9fa 0%,#fff 48%,#f1f5f7 100%)}
.login-page:before{content:'';position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(0,59,103,.035) 50%,transparent 50.1%);background-size:120px 100%}
.login-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(1px)}
.login-orb-one{width:430px;height:430px;right:-145px;top:90px;background:rgba(0,59,103,.07)}
.login-orb-two{width:330px;height:330px;left:-105px;bottom:-120px;background:rgba(255,18,61,.06)}
.login-card{width:min(100%,490px);padding:50px 55px 48px;border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 28px 75px rgba(0,59,103,.12);border:1px solid rgba(0,59,103,.055);text-align:center}
.login-brand-mark{display:flex;justify-content:center;margin-bottom:18px}
.login-brand-mark i{display:block;width:42px;height:42px;border-radius:50%;background:conic-gradient(#f81442,#ffbf00,#51bd45,#00a7c7,#7836b5,#f81442);position:relative}
.login-brand-mark i:after{content:'';position:absolute;inset:10px;background:#fff;border-radius:50%}
.login-eyebrow{margin:0 0 8px;color:var(--red);font-size:12px;font-weight:700;letter-spacing:3px}
.login-card h1{margin:0;color:var(--navy);font-size:42px;font-weight:700;letter-spacing:-1.8px}
.login-intro{margin:13px 0 35px;color:#6f8291;font-size:14px;line-height:1.6}
.login-fields{text-align:left}
.login-card .form-item{margin:0 0 20px}
.login-card label{display:block;margin:0 0 9px 4px;color:var(--navy);font-size:13px;font-weight:600}
.login-card input[type='text'],.login-card input[type='password']{display:block;width:100%;height:58px;padding:0 20px;border:1px solid transparent;border-radius:15px;outline:0;background:#f7f8f9;color:var(--navy);font:500 15px Montserrat,Arial,sans-serif;transition:border-color .2s,box-shadow .2s,background .2s}
.login-card input:focus{background:#fff;border-color:var(--red);box-shadow:0 0 0 4px rgba(255,18,61,.09)}
.login-card .description{margin:7px 4px 0;color:#8b99a4;font-size:11px;line-height:1.45}
.login-assistance{display:flex;justify-content:flex-end;margin:-4px 2px 25px}
.login-assistance a{color:var(--red);font-size:12px;font-weight:600;text-decoration:none}
.login-card .form-actions{margin:0}
.login-card .button{width:100%;height:58px;border:0;border-radius:16px;background:var(--red);color:#fff;font:600 15px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.8px;box-shadow:0 12px 28px rgba(255,18,61,.22);transition:transform .2s,box-shadow .2s,background .2s}
.login-card .button:hover,.login-card .button:focus{background:#d8002d;transform:translateY(-2px);box-shadow:0 16px 32px rgba(216,0,45,.26)}
.login-card .form-required:after{color:var(--red)}
/* XS/mobile base; enhanced from 992px in breakpoint files. */
    .login-page{min-height:760px;padding-top:125px}
    .login-card{padding:42px 38px}.login-card h1{font-size:38px}

/* XS/mobile base; enhanced from 576px in breakpoint files. */
    .login-page{padding:105px 16px 70px}
    .login-card{padding:38px 24px 34px;border-radius:22px}
    .login-card h1{font-size:34px}.login-intro{margin-bottom:28px}

/* Keep the branded header clear of Drupal Admin Toolbar. */
body.toolbar-horizontal .site-header{top:39px}
body.toolbar-horizontal.toolbar-tray-open .site-header{top:79px}
body.toolbar-vertical .site-header{top:39px}
/* XS/mobile base; enhanced from 576px in breakpoint files. */
    body.toolbar-horizontal .site-header,body.toolbar-horizontal.toolbar-tray-open .site-header,body.toolbar-vertical .site-header{top:39px}

/* Drupal-managed Paragraph and Block rendering. */
.region-header-brand,.region-footer-brand{display:flex;align-items:center}.region-header,.region-header-social,.region-footer,.region-footer-social{display:flex;align-items:stretch}.region-header-social,.region-footer-social{align-items:center}.region-header-social .block,.region-footer-social .block{margin:0}.region-header-social .field,.region-footer-social .field,.copyright .field,.copyright p{margin:0}.region-header-social .social,.region-footer-social .social{display:flex;gap:14px}.managed-hero{background-repeat:no-repeat;background-size:2100px auto;background-position:top center}.hero-body{font-size:18px;line-height:1.32;margin-left:85px;max-width:390px}.hero-body p{margin:0}.service-tabs>.field,.service-tabs .field__items,.client-grid>.field,.client-grid .field__items,.work-items>.field,.work-items .field__items{display:contents}.section-body p{font-size:17px;line-height:1.5}.work-items{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1440px;margin:0 auto 70px;padding:0 28px}.work-card{min-height:390px;border-radius:28px;background-size:1920px auto;background-position:center -1985px;display:flex;align-items:flex-end;overflow:hidden}.work-card>div{width:100%;padding:28px;background:linear-gradient(transparent,rgba(0,59,103,.9));color:#fff}.work-card h3{margin:0;font-size:26px}.work-card p{margin:6px 0 0}.work-description{font-size:17px;line-height:1.6}.client-card{height:250px;background:var(--soft);border-radius:18px;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding:30px}.client-card img{position:absolute;width:1920px;max-width:none;height:auto;opacity:.07;filter:grayscale(1)}.client-card span{position:relative;z-index:1;font-size:18px;font-weight:700;color:#555}.about-body{font-size:19px;line-height:1.55;margin-top:45px}.contact form{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.contact form>.form-item-message,.contact form>.form-actions{grid-column:1/-1}.contact form label{display:block;margin:0 0 8px;font-weight:600}.contact form input,.contact form textarea{width:100%;border:0;background:var(--soft);border-radius:18px;padding:20px;color:var(--navy)}.contact form textarea{min-height:190px}.contact form .button{border:0;border-radius:18px;background:var(--red);color:#fff;padding:18px 30px;font-weight:600}.contact form .form-actions{margin:0}.managed-map{background-size:1920px auto;background-position:center -5310px}.paragraph-page>.field--name-field-sections>.field__item{margin:0}/* XS/mobile base; enhanced from 992px in breakpoint files. */.region-header-brand{flex:1}.region-header-social{display:none}.work-items{grid-template-columns:1fr}.hero-body{margin-left:0}.contact form{grid-template-columns:1fr}.contact form>*{grid-column:1!important}
.region-header-social .field__item p,.region-footer-social .field__item p{display:flex;align-items:center;gap:14px;margin:0}
.social>div{display:flex;align-items:center;gap:14px}
.internal-page{min-height:650px;padding-top:190px;padding-bottom:100px}.internal-page h1{font-size:64px;color:var(--navy);margin-bottom:35px}.internal-page .field--name-body{max-width:780px;font-size:18px;line-height:1.7}
/* Bootstrap grid remains the sole layout system; these rules are offline fallbacks and visual styling only. */
.work-items.row,.client-grid.row{display:flex;grid-template-columns:none}
.work-items.row{max-width:none;margin-left:-12px;margin-right:-12px;padding:0;margin-bottom:70px}
.work-card,.client-card{width:100%; height: auto;}
.about .row{height:100%}
.about-copy{width:100%}
.about .about-image{position:relative;right:auto;width:100%}
.text-center{text-align:center}.text-lg-end{text-align:right}

/* XS/mobile base; enhanced from 992px in breakpoint files. */
    .about .row{height:auto}
    .about .about-image{position:relative;left:auto;bottom:auto;top:20px;transform:none;width:100%}
    .text-lg-end{text-align:left}

/* Our Works - Swiper uses Drupal Paragraphs as slides. */
.works-swiper{width:100%;padding:0 0 62px;overflow:hidden}
.works-swiper .swiper-wrapper{align-items:center}
.works-swiper .swiper-slide{height:auto;transition:opacity .3s,transform .3s;opacity:.72}
.works-swiper .swiper-slide-active{opacity:1}
.works-swiper .container-fluid,.works-swiper .col-12{height:100%}
.works-swiper .work-card{height:410px;min-height:410px}
.works-actions{gap:6px}
.works-actions .mini-btn{margin:0 24px 0 0}
.works-prev,.works-next{width:76px;height:76px;border:0;border-radius:20px;background:var(--red);color:#fff;font-size:34px;line-height:1}
.works-next{background:#d8002d}
.works-prev:hover,.works-next:hover{transform:translateY(-2px)}
.works-swiper .swiper-pagination{top:auto;bottom:0;left:50%;width:230px;height:6px;transform:translateX(-50%);background:#eee}
.works-swiper .swiper-pagination-progressbar-fill{background:var(--red)}
.works .section-head{margin-bottom:64px}
.works-swiper{padding:0;overflow:hidden}
.works-swiper .swiper-wrapper{align-items:center}
.works-swiper .work-card{min-height:0;height:auto;aspect-ratio:3.05/1;border-radius:0 0 28px 28px;background-size:1920px auto;background-repeat:no-repeat;background-position:center -1985px}
.works-swiper .swiper-slide[data-work-client="Nike"] .work-card{background-position:left -1985px}
.works-swiper .swiper-slide[data-work-client="Segafredo"] .work-card{background-position:center -1985px}
.works-swiper .swiper-slide[data-work-client="Residential"] .work-card{background-position:right -1985px}
.works-swiper .swiper-slide{opacity:1}
.works-swiper .swiper-slide{width:61vw;max-width:1173px}
.work-description{margin-top:74px}
.work-description .field--name-field-body p{max-width:510px;margin:0}
.works-progress{width:230px;height:6px;margin-top:66px;background:#eee;overflow:hidden}
.works-progress span{display:block;width:32%;height:100%;background:var(--red)}
.work-meta b{display:block;color:var(--red);font-size:12px;margin:0 0 26px}
.work-meta span{display:block;white-space:pre-line;font-size:18px;line-height:1.2;min-height:44px}
.work-meta i{display:block;width:58px;height:5px;background:var(--red);margin-top:58px}
/* XS/mobile base; enhanced from 992px in breakpoint files. */.works-swiper .swiper-slide{width:84vw}.works-swiper{--swiper-navigation-size:24px}.work-description{margin-top:42px}
/* XS/mobile base; enhanced from 992px in breakpoint files. */
    .works-actions{justify-content:flex-start!important;margin-top:22px}
    .works-prev,.works-next{width:58px;height:58px;border-radius:16px}
    .works-swiper .work-card{height:340px;min-height:340px}

/* XS/mobile base; enhanced from 576px in breakpoint files. */
    .works-actions .mini-btn{margin-right:10px}
    .works-prev,.works-next{width:50px;height:50px}
    .works-swiper .work-card{height:290px;min-height:290px}

.row-cols-2>*{width:50%}

.client-grid.row{column-gap:1rem}

