
    :root{--ink:#111;--paper:#ffffff;--white:#fff;--yellow:#f4cc00;--muted:#77766f;--line:#dfddd5;--dark:#151512;--radius:18px;--max:1160px}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.top{background:var(--paper)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}.logo{display:block;width:190px;height:54px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700}.nav a{position:relative}.nav a:after{content:"";height:2px;width:0;position:absolute;left:0;bottom:-7px;background:var(--yellow);transition:width .2s}.nav a:hover:after{width:100%}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;background:var(--yellow);border:1px solid var(--yellow);color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.01em;transition:transform .2s,background .2s;cursor:pointer}.nav-cta:hover,.button:hover{transform:translateY(-2px);background:#ffdd22}.button.dark{background:var(--ink);border-color:var(--ink);color:white}.button.dark:hover{background:#333}.button.outline{background:transparent;border-color:#ffffff66;color:#fff}.button.outline:hover{background:#ffffff18}.menu{display:none;background:none;border:0;font-size:24px;cursor:pointer}
    .hero{background:var(--dark);color:white;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:700px;height:700px;border:1px solid #ffffff12;border-radius:50%;right:-110px;top:-390px;box-shadow:0 0 0 65px #ffffff08,0 0 0 130px #ffffff05}.hero-inner{min-height:590px;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:42px;padding-block:68px;position:relative}.kicker{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:var(--yellow)}.kicker:before{content:"";width:23px;height:2px;background:var(--yellow)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;font-size:clamp(54px,7.5vw,94px);line-height:.93;letter-spacing:-.055em;max-width:620px;margin:22px 0}.hero h1 em{color:var(--yellow);font-weight:500}.hero-copy{max-width:440px;color:#c4c3bd;font-size:15px;line-height:1.8}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-note{margin-top:29px;display:flex;align-items:center;gap:11px;color:#ccc;font-size:10px}.note-dot{height:8px;width:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px #f4cc0020}.hero-visual{height:405px;position:relative;display:grid;place-items:center}.visual-frame{position:absolute;width:76%;height:82%;border:1px solid #f4cc0065;transform:rotate(7deg)}.visual-frame:before,.visual-frame:after{content:"";position:absolute;background:var(--yellow)}.visual-frame:before{width:68px;height:7px;top:-4px;left:20%}.visual-frame:after{width:7px;height:68px;right:-4px;bottom:15%}.visual-card{width:75%;height:82%;background:var(--yellow);color:var(--ink);padding:27px;transform:rotate(-5deg);position:relative;box-shadow:18px 20px 0 #ffffff12}.visual-card:before{content:"TC";position:absolute;font-family:Georgia,serif;font-size:148px;font-weight:bold;line-height:1;right:14px;bottom:0;letter-spacing:-.12em;color:#111}.visual-card small{font-size:9px;text-transform:uppercase;letter-spacing:.22em;font-weight:900}.visual-card strong{position:absolute;left:25px;bottom:27px;font-family:Georgia,serif;font-size:23px;line-height:1.05;max-width:145px;z-index:1}.visual-stamp{position:absolute;right:0;top:15px;width:90px;height:90px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:9px;letter-spacing:.11em;line-height:1.5;transform:rotate(12deg)}.visual-stamp span{font-size:20px;color:var(--yellow)}.scroll-mark{position:absolute;bottom:22px;right:max(24px,calc((100vw - var(--max))/2));font-size:9px;letter-spacing:.18em;color:#96958f;writing-mode:vertical-rl}
    .ticker{background:var(--yellow);overflow:hidden;color:var(--ink)}.ticker-line{display:flex;justify-content:space-around;align-items:center;gap:25px;padding:13px 16px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap}.ticker-line span:after{content:"✳";margin-left:25px;font-size:13px}
    .section{padding:92px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:35px}.section-head h2{font:600 clamp(34px,5vw,54px)/1.03 Georgia,serif;letter-spacing:-.04em;margin:13px 0 0;max-width:520px}.section-head p{max-width:360px;margin:0;color:var(--muted);font-size:13px;line-height:1.8}.eyebrow{color:#68665e;font-size:10px;letter-spacing:.18em;font-weight:850;text-transform:uppercase}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{min-height:225px;padding:25px 23px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}.service:hover{background:var(--white)}.service-number{display:flex;justify-content:space-between;align-items:center;color:#77766f;font-size:10px}.service-number span:last-child{color:#b3a000;font-size:20px}.service h3{font:600 23px/1.12 Georgia,serif;margin:38px 0 10px}.service p{color:var(--muted);font-size:11px;line-height:1.7;margin:0}.about{background:#e8e6dc}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}.about-mark{min-height:340px;background:var(--yellow);padding:34px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.about-mark:after{content:"C";position:absolute;right:-16px;bottom:-150px;font:400 420px/.9 Georgia,serif;color:#111;opacity:.09}.about-mark strong{font:600 38px/1.05 Georgia,serif;max-width:280px;position:relative;z-index:1}.about-mark span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:850;position:relative;z-index:1}.about-copy h2{font:600 clamp(35px,4vw,52px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:12px 0 20px}.about-copy p{color:#68665e;font-size:13px;line-height:1.9}.about-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.about-list span{font-weight:800;font-size:11px}.about-list span:before{content:"↗";display:inline-grid;place-items:center;width:22px;height:22px;background:var(--yellow);border-radius:50%;margin-right:8px}
    .packages{background:var(--dark);color:white}.packages .section-head p{color:#b5b4ae}.package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.package{padding:23px 19px;border:1px solid #ffffff2b;min-height:380px;display:flex;flex-direction:column;position:relative}.package.featured{background:var(--yellow);border-color:var(--yellow);color:var(--ink);transform:translateY(-8px)}.package-label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:900}.package-price{font:600 31px/1 Georgia,serif;letter-spacing:-.04em;margin:25px 0 4px}.package-price small{font:700 10px/1.2 Arial,sans-serif;letter-spacing:0;color:#a6a59f}.featured .package-price small{color:#5c5110}.package-unit{font-size:10px;color:#aaa9a2;margin-bottom:20px}.featured .package-unit{color:#5c5110}.package-rule{height:1px;background:#ffffff30;margin-bottom:16px}.featured .package-rule{background:#1113}.package ul{list-style:none;margin:0 0 25px;padding:0}.package li{font-size:11px;color:#d3d2cc;padding:7px 0;border-bottom:1px solid #ffffff18}.featured li{color:#26230c;border-color:#1112}.package li:before{content:"✓";color:var(--yellow);font-weight:900;margin-right:9px}.featured li:before{color:#111}.package .button{width:100%;margin-top:auto;font-size:10px}.package.featured .button{background:var(--ink);border-color:var(--ink);color:white}.ad-note{margin:24px 0 0;padding:16px 18px;border-left:3px solid var(--yellow);background:#ffffff0b;color:#cfcec8;font-size:11px;line-height:1.8}.ad-note strong{color:white}.package-fine{margin:20px 0 0;color:#b7b6ae;font-size:10px;line-height:1.8}
    .process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.process{border-top:2px solid var(--ink);padding-top:17px}.process span{font-size:10px;color:#8a887f;letter-spacing:.1em}.process h3{font:600 22px Georgia,serif;margin:16px 0 8px}.process p{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.contact{background:var(--yellow);padding:74px 0}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact h2{font:600 clamp(38px,6vw,67px)/.98 Georgia,serif;letter-spacing:-.05em;max-width:600px;margin:12px 0 13px}.contact p{font-size:12px;max-width:430px;margin:0}.contact-actions{display:flex;gap:10px;flex-wrap:wrap}.contact-actions .button{white-space:nowrap}.contact-actions .button.dark{border-color:var(--ink)}footer{background:var(--dark);color:#fff;padding:48px 0 20px}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:35px;padding-bottom:38px}.footer-logo{width:210px;height:65px;object-fit:contain;object-position:left center;background:transparent;padding:0}.footer-about p,.footer-contact p{font-size:11px;line-height:1.8;color:#adada6;max-width:280px}.footer-col h3{font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin:4px 0 14px;color:var(--yellow)}.footer-col a{display:block;font-size:11px;color:#cecec8;margin:9px 0}.footer-col a:hover{color:var(--yellow)}.footer-contact a{font-size:11px;color:#fff;display:block;margin:9px 0}.pay-info{border-top:1px solid #ffffff24;padding-top:22px;display:flex;justify-content:space-between;gap:20px;align-items:start}.pay-info h3{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--yellow);margin:0 0 7px}.pay-info p{font-size:10px;color:#bcbcb5;line-height:1.8;margin:0}.copyright{border-top:1px solid #ffffff24;margin-top:22px;padding-top:16px;display:flex;justify-content:space-between;gap:15px;color:#989891;font-size:9px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);padding:12px 18px;background:var(--yellow);color:var(--ink);font-size:12px;font-weight:750;box-shadow:0 8px 28px #0003;opacity:0;pointer-events:none;transition:.25s;z-index:9}.toast.show{opacity:1;transform:translate(-50%,0)}
    @media(max-width:900px){.nav{gap:17px}.hero-inner{gap:15px}.hero-visual{height:340px}.service-grid{grid-template-columns:repeat(2,1fr)}.package-grid{grid-template-columns:repeat(2,1fr)}.package.featured{transform:none}.footer-top{grid-template-columns:1.3fr 1fr 1fr}.footer-about{grid-column:span 3}}
    @media(max-width:650px){.container{width:calc(100% - 36px)}.nav-wrap{height:70px}.logo{width:155px;height:46px}.menu{display:block}.nav{display:none;position:absolute;z-index:5;top:62px;left:18px;right:18px;padding:10px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px #0002;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:12px}.nav-cta{padding:10px 12px;font-size:10px;margin-left:auto}.hero-inner{grid-template-columns:1fr;padding:59px 0 35px;gap:5px}.hero h1{font-size:clamp(56px,14vw,78px)}.hero-copy{font-size:13px}.hero-visual{height:300px;max-width:430px;width:100%;margin:auto}.visual-card{width:66%;height:80%}.visual-frame{width:67%;height:80%}.visual-stamp{right:8px;width:72px;height:72px;font-size:7px}.visual-card:before{font-size:128px}.scroll-mark{display:none}.ticker-line{justify-content:flex-start;overflow:hidden}.section{padding:65px 0}.section-head{display:block;margin-bottom:25px}.section-head p{margin-top:13px}.section-head h2{font-size:40px}.service-grid{grid-template-columns:1fr 1fr}.service{padding:18px 14px;min-height:195px}.service h3{font-size:20px;margin-top:28px}.about-grid{grid-template-columns:1fr;gap:30px}.about-mark{min-height:260px}.about-mark strong{font-size:32px}.about-mark:after{font-size:330px;bottom:-120px}.package-grid{grid-template-columns:1fr}.package{min-height:unset;padding:22px}.package-price{margin-top:18px}.package ul{margin-bottom:20px}.process-grid{grid-template-columns:1fr;gap:23px}.contact{padding:58px 0}.contact-inner{display:block}.contact-actions{margin-top:23px}.footer-top{grid-template-columns:1fr 1fr;gap:27px 16px}.footer-about{grid-column:span 2}.footer-logo{width:170px}.pay-info,.copyright{display:block}.pay-info>div+div{margin-top:16px}.copyright span{display:block;margin-bottom:8px}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
    .hero-visual{height:405px;position:relative;display:block;perspective:1000px}.work-carousel{height:100%;padding-top:15px}.carousel-stage{height:calc(100% - 55px);position:relative;margin:0 32px 0 15px}.work-slide{position:absolute;inset:8px 28px 18px;opacity:0;visibility:hidden;transform:translate(24px,8px) rotate(3deg) scale(.97);transition:opacity .45s,transform .45s,visibility .45s}.work-slide.is-active{opacity:1;visibility:visible;transform:translate(0) rotate(-3deg) scale(1)}.poster{height:100%;width:100%;position:relative;overflow:hidden;padding:25px;color:#111;box-shadow:16px 18px 0 #ffffff12}.poster:after{position:absolute;right:-17px;bottom:-34px;font:800 158px/.85 Georgia,serif;letter-spacing:-.1em;opacity:.14}.poster-one{background:#f4cc00}.poster-one:after{content:"TC"}.poster-two{background:#eeeae1;border:1px solid #fff}.poster-two:after{content:"02";font-size:190px;color:#111;opacity:.08;right:10px;bottom:-20px}.poster-three{background:#171715;color:#fff;border:1px solid #f4cc0055}.poster-three:after{content:"03";color:#f4cc00;opacity:.16}.poster-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;font-weight:900;position:relative;z-index:1}.poster-chip{border:1px solid currentColor;padding:5px 7px}.poster-title{position:absolute;z-index:1;left:24px;right:16px;bottom:52px;font:700 clamp(34px,4.4vw,56px)/.86 Georgia,serif;letter-spacing:-.055em;text-transform:uppercase}.poster-title em{font-weight:500}.poster-two .poster-title{font-size:clamp(32px,4vw,50px)}.poster-three .poster-title{color:#f4cc00;font-size:clamp(34px,4vw,50px)}.poster-note{position:absolute;z-index:1;bottom:20px;left:25px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.poster-shape{position:absolute;right:20px;top:22%;width:94px;height:94px;border:2px solid currentColor;border-radius:50%;opacity:.45}.poster-two .poster-shape{background:#f4cc00;border:0;width:105px;height:105px;right:25px;top:18%}.poster-three .poster-shape{width:115px;height:115px;border:16px solid #f4cc00;opacity:.9;right:27px;top:18%}.carousel-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 16px 0;color:#bbb9b1;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.carousel-controls{display:flex;align-items:center;gap:7px}.carousel-controls button{display:grid;place-items:center;width:27px;height:27px;padding:0;border:1px solid #ffffff55;background:transparent;color:#fff;cursor:pointer}.carousel-controls button:hover,.carousel-controls button:focus-visible{background:var(--yellow);border-color:var(--yellow);color:#111;outline:none}.carousel-dots{display:flex;gap:5px}.carousel-controls .carousel-dot{width:7px;height:7px;border-radius:50%;border:0;background:#777}.carousel-controls .carousel-dot[aria-current="true"]{background:var(--yellow);transform:scale(1.2)}.carousel-controls .carousel-pause{width:32px;font-size:9px}.carousel-label{color:var(--yellow);font-weight:800}.hero-visual .visual-frame,.hero-visual .visual-card,.hero-visual .visual-stamp{display:none}
    @media(max-width:900px){.hero-visual{height:340px}.carousel-stage{margin-right:20px}.work-slide{inset:8px 22px 15px}}
    @media(max-width:650px){.hero-visual{height:320px;max-width:430px;width:100%;margin:auto}.carousel-stage{margin:0 22px 0 10px}.work-slide{inset:8px 20px 15px}.poster{padding:20px}.poster-title{left:20px;bottom:45px;font-size:clamp(34px,10vw,48px)}.poster-note{left:20px;bottom:16px}.poster-shape{width:75px;height:75px}.carousel-caption{margin:5px 8px 0;font-size:8px}.carousel-controls{gap:5px}.carousel-controls button{width:25px;height:25px}}
    .work-slide{inset:0 16px;display:grid;place-items:center}.portfolio-art{display:block;width:auto;height:100%;max-width:100%;aspect-ratio:1;object-fit:contain;box-shadow:16px 18px 0 #ffffff12}.carousel-count{color:#8c8a83;margin-left:7px;white-space:nowrap}
    @media(max-width:650px){.work-slide{inset:0 12px}.portfolio-art{max-height:100%}.carousel-caption{gap:5px}.carousel-count{display:none}.carousel-dots{gap:3px;max-width:112px;overflow-x:auto;scrollbar-width:none}.carousel-dots::-webkit-scrollbar{display:none}.carousel-controls .carousel-dot{width:5px;height:5px;flex:0 0 5px}}
    .carousel-stage{perspective:1100px;perspective-origin:50% 46%;transform-style:preserve-3d;overflow:visible}.work-slide{inset:auto;width:min(78%,340px);height:auto;aspect-ratio:1;top:50%;left:50%;transform:translate(-50%,-50%) scale(.58) rotateY(0);transform-style:preserve-3d;backface-visibility:hidden;z-index:0;pointer-events:none}.work-slide.is-active{opacity:1;visibility:visible;z-index:3;pointer-events:auto;transform:translate(-50%,-50%) scale(1) rotateY(0)}.work-slide.is-prev,.work-slide.is-next{opacity:.9;visibility:visible;z-index:2;pointer-events:none}.work-slide.is-prev{transform:translate(-50%,-50%) translateX(-72%) rotateY(34deg) scale(.78)}.work-slide.is-next{transform:translate(-50%,-50%) translateX(72%) rotateY(-34deg) scale(.78)}.work-slide.is-hidden{opacity:0;visibility:hidden;z-index:0;transform:translate(-50%,-50%) scale(.55) rotateY(0)}.portfolio-art{width:100%;height:100%;max-width:none;object-fit:cover;border-radius:14px;border:1px solid #ffffff24;box-shadow:0 22px 42px #0007;backface-visibility:hidden}.carousel-stage{isolation:isolate}
    @media(max-width:900px){.work-slide{width:min(78%,300px)}.work-slide.is-prev{transform:translate(-50%,-50%) translateX(-65%) rotateY(34deg) scale(.75)}.work-slide.is-next{transform:translate(-50%,-50%) translateX(65%) rotateY(-34deg) scale(.75)}}
    @media(max-width:650px){.work-slide{width:min(82%,265px)}.work-slide.is-prev{transform:translate(-50%,-50%) translateX(-62%) rotateY(32deg) scale(.72)}.work-slide.is-next{transform:translate(-50%,-50%) translateX(62%) rotateY(-32deg) scale(.72)}.portfolio-art{border-radius:11px}}
    .social-links{display:flex;gap:10px;margin-top:17px}.social-link{width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff45;border-radius:50%;color:#fff;transition:transform .2s,background .2s,color .2s,border-color .2s}.social-link:hover,.social-link:focus-visible{background:var(--yellow);border-color:var(--yellow);color:var(--ink);transform:translateY(-2px);outline:none}.social-link svg{width:17px;height:17px;fill:currentColor}
      .packages .package{padding:26px 21px;border-radius:20px;box-shadow:0 14px 34px #0003;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;overflow:hidden}.packages .package:hover{transform:translateY(-6px);border-color:var(--yellow);box-shadow:0 20px 42px #0005}.packages .package.featured{border-radius:20px}.packages .package-price{font-size:clamp(24px,2.15vw,31px)}.packages .package .button{border-radius:999px}
      .package{cursor:pointer}.package-radio{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.package-content{position:relative;z-index:2;display:flex;flex-direction:column;min-height:100%;pointer-events:none}.package-content .button{pointer-events:auto}.package:focus-within{outline:2px solid var(--yellow);outline-offset:4px}.packages .package.is-selected{background:var(--yellow);border-color:var(--yellow);color:var(--ink);transform:translateY(-8px);box-shadow:0 20px 42px #0005}.packages .package.is-selected .package-price small,.packages .package.is-selected .package-unit{color:#5c5110}.packages .package.is-selected li{color:#26230c;border-color:#1112}.packages .package.is-selected li:before{color:#111}.packages .package.is-selected .package-rule{background:#1113}.packages .package.is-selected .button{background:var(--ink);border-color:var(--ink);color:#fff}
      .hero-actions .button{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}.hero-actions .button:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0004}.hero-actions .button:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.hero-actions .button span{display:inline-block;transition:transform .2s ease}.hero-actions .button:hover span{transform:translate(2px,-2px)}

/* Portfolio and dedicated landing pages */
.service-grid .service{display:flex;flex-direction:column;color:inherit;text-decoration:none}
.service-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;color:#756700;font-size:10px;font-weight:800}
.service:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.portfolio-section,.service-work{background:#eeece3}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.project-card{overflow:hidden;background:#fff;border:1px solid #e2e0d8;border-radius:18px;box-shadow:0 10px 25px #1110000c}
.project-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#ffffff}
.project-info{padding:18px 19px 20px}
.project-info>span{color:#77766f;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.project-info h3{font:600 22px/1.1 Georgia,serif;margin:9px 0 7px}
.project-info p,.portfolio-note{margin:0;color:var(--muted);font-size:11px;line-height:1.7}
.portfolio-note{margin-top:18px}
.contact-inner.with-form{display:grid;grid-template-columns:.85fr 1.15fr;align-items:start;gap:38px}
.contact-copy .button{margin-top:22px}.contact-copy .form-note{margin-top:14px}
.enquiry-form{display:grid;gap:13px;padding:23px;background:var(--paper);border:1px solid #1112;border-radius:18px;box-shadow:0 15px 35px #1112}
.enquiry-form label{display:grid;gap:6px;color:#39372f;font-size:10px;font-weight:800}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:1px solid #d5d2c7;border-radius:9px;background:#fff;padding:11px 12px;color:var(--ink);font:400 12px/1.5 Arial,sans-serif}
.enquiry-form textarea{resize:vertical;min-height:82px}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:2px solid var(--yellow);border-color:var(--yellow)}
.enquiry-form .button{width:100%;border-radius:999px}.form-note{color:#68665e;font-size:10px!important;line-height:1.6!important}
.service-page-hero{padding:78px 0 70px;background:var(--dark);color:#fff}
.service-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px}
.service-page-hero .eyebrow{color:var(--yellow)}
.service-page-hero h1{max-width:760px;margin:16px 0 18px;font:600 clamp(48px,7vw,78px)/.98 Georgia,serif;letter-spacing:-.05em}
.service-page-hero p{max-width:650px;color:#cbc9c1;font-size:15px;line-height:1.85}
.service-page-hero .button{margin:12px 10px 0 0}.service-page-hero .button.secondary{background:transparent;border-color:#ffffff66;color:#fff}
.service-callout{padding:28px;border:1px solid #ffffff30;border-radius:20px;background:#ffffff08}
.service-callout>span{color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.service-callout ul{list-style:none;margin:16px 0 0;padding:0}.service-callout li{padding:10px 0;border-bottom:1px solid #ffffff24;color:#e2e0d9;font-size:12px}
.service-callout li:before{content:"✓";margin-right:10px;color:var(--yellow);font-weight:900}
.service-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-benefit{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.service-benefit span{color:#807300;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.service-benefit h3{margin:13px 0 8px;font:600 22px/1.12 Georgia,serif}
.service-benefit p{margin:0;color:var(--muted);font-size:11px;line-height:1.75}
.service-work .work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-hero-grid{grid-template-columns:1fr .8fr;gap:25px}.service-benefits{grid-template-columns:1fr 1fr}.contact-inner.with-form{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:650px){.work-grid,.service-work .work-grid{grid-template-columns:1fr 1fr;gap:11px}.project-info{padding:13px}.project-info h3{font-size:19px}.contact-inner.with-form{grid-template-columns:1fr;align-items:start}.service-hero-grid{grid-template-columns:1fr}.service-page-hero{padding:58px 0}.service-page-hero h1{font-size:clamp(44px,12vw,68px)}.service-benefits{grid-template-columns:1fr}.enquiry-form{padding:17px}}
@media(max-width:420px){.work-grid,.service-work .work-grid{grid-template-columns:1fr}}

/* Brand typography: Restora for primary headings, Inter Bold for secondary headings, Inter Medium for messages. */
@font-face{font-family:'Inter';src:url('fonts/inter-regular.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter-medium.otf') format('opentype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter-bold.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Restora';src:url('fonts/restora-extralight.otf') format('opentype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:'Restora';src:url('fonts/restora-thin-italic.otf') format('opentype');font-style:italic;font-weight:100;font-display:swap}
body{font-family:'Inter',Arial,Helvetica,sans-serif;font-weight:500}
.hero h1,.service-page-hero h1{font-family:'Restora',Georgia,'Times New Roman',serif;font-weight:300;letter-spacing:-.035em}
.hero h1 em{font-family:'Restora',Georgia,'Times New Roman',serif;font-style:italic;font-weight:100}
h2,h3,.section-head h2,.about-copy h2,.process h3,.contact h2,.service h3,.project-info h3,.service-benefit h3{font-family:'Inter',Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.035em}

/* Keep the single-line hero headline clear of the poster carousel. */
@media(min-width:651px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,4vw,56px)}.hero h1{font-size:clamp(48px,5.8vw,72px);max-width:100%;letter-spacing:-.045em}}


.branding-project-intro{max-width:720px;margin:0 0 26px}.branding-project-intro h3{font-size:clamp(28px,4vw,42px);margin:7px 0}.branding-project-intro p{max-width:660px;color:var(--muted);font-size:13px;line-height:1.8}.branding-work-grid .project-card img{aspect-ratio:16/9;object-fit:cover;background:#fff}.branding-work-grid .project-card{transition:transform .25s,box-shadow .25s}.branding-work-grid .project-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px #1112}


.branding-work-grid + .branding-project-intro{margin-top:50px}


/* Refined hero portfolio carousel */
.hero-visual{perspective:1350px}
.work-carousel{position:relative;padding:18px 10px 0}
.carousel-stage{height:calc(100% - 70px);margin:0 22px 0 6px;perspective:1350px;perspective-origin:50% 48%}
.carousel-stage:before{content:"";position:absolute;width:78%;height:82%;left:11%;top:9%;border-radius:50%;background:radial-gradient(ellipse,#f4cc0024 0%,#f4cc000b 45%,transparent 72%);filter:blur(12px);pointer-events:none}
.work-slide{width:min(76%,330px);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.75,.25,1),visibility .55s}
.work-slide.is-active{transform:translate(-50%,-50%) scale(1.015) rotateY(0);filter:drop-shadow(0 22px 30px #0008)}
.work-slide.is-prev,.work-slide.is-next{opacity:.48}
.work-slide.is-prev{transform:translate(-50%,-50%) translateX(-79%) rotateY(30deg) scale(.68)}
.work-slide.is-next{transform:translate(-50%,-50%) translateX(79%) rotateY(-30deg) scale(.68)}
.portfolio-art{border-radius:18px;border:1px solid #ffffff38;box-shadow:inset 0 0 0 1px #1112,0 18px 42px #0008;transition:transform .35s ease}
.work-carousel:hover .work-slide.is-active .portfolio-art{transform:translateY(-2px)}
.carousel-caption{min-height:48px;margin:10px 10px 0;padding:8px 12px;border:1px solid #ffffff20;border-radius:12px;background:#ffffff09;backdrop-filter:blur(12px);letter-spacing:.06em}
.carousel-caption>span{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}
.carousel-label{font-size:9px;white-space:nowrap}
.carousel-current-name{max-width:230px;overflow:hidden;color:#f0eee7;font-size:10px;letter-spacing:.01em;text-overflow:ellipsis;text-transform:none;white-space:nowrap}
.carousel-count{font-size:9px}
.carousel-controls{gap:6px}
.carousel-controls button{width:30px;height:30px;border-color:#ffffff30;border-radius:8px;background:#ffffff08;transition:background .2s,transform .2s,border-color .2s}
.carousel-controls button:hover,.carousel-controls button:focus-visible{transform:translateY(-1px)}
.carousel-controls .carousel-dot{width:6px;height:6px;border-radius:50%;background:#ffffff55}
.carousel-controls .carousel-pause{width:42px;font-size:9px}
@media(max-width:900px){.work-slide{width:min(78%,300px)}.work-slide.is-prev{transform:translate(-50%,-50%) translateX(-72%) rotateY(28deg) scale(.68)}.work-slide.is-next{transform:translate(-50%,-50%) translateX(72%) rotateY(-28deg) scale(.68)}}
@media(max-width:650px){.work-carousel{padding:8px 0 0}.carousel-stage{height:calc(100% - 58px);margin:0 20px 0 8px}.work-slide{width:min(82%,265px)}.work-slide.is-prev{transform:translate(-50%,-50%) translateX(-67%) rotateY(26deg) scale(.67)}.work-slide.is-next{transform:translate(-50%,-50%) translateX(67%) rotateY(-26deg) scale(.67)}.portfolio-art{border-radius:14px}.carousel-caption{min-height:42px;margin:7px 3px 0;padding:6px 8px}.carousel-caption>span{grid-template-columns:auto minmax(0,1fr);gap:7px}.carousel-current-name{max-width:125px}.carousel-count{display:none}.carousel-controls{gap:4px}.carousel-controls button{width:25px;height:25px}.carousel-controls .carousel-pause{width:34px}.carousel-dots{max-width:78px}}
@media(prefers-reduced-motion:reduce){.work-slide,.portfolio-art,.carousel-controls button{transition:none!important}}

.graphic-work-grid{row-gap:24px}.graphic-work-grid .project-card img{aspect-ratio:16/9;object-fit:cover;background:#fff}.graphic-work-grid .project-card{transition:transform .25s,box-shadow .25s}.graphic-work-grid .project-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px #1112}


/* Seasonal promotional ticker */
.seasonal-ticker{height:72px;display:flex;align-items:center;background:var(--yellow);color:#111;overflow:hidden;border-top:1px solid #111}
.ticker-track{display:flex;width:max-content;animation:seasonal-ticker-scroll 24s linear infinite;will-change:transform}
.ticker-group{display:flex;flex:0 0 auto;align-items:center;gap:76px;padding-right:76px;font-family:'Inter',Arial,sans-serif;font-size:27px;font-weight:700;line-height:1;white-space:nowrap}
.ticker-group span:last-child{font-size:23px}
.seasonal-ticker:hover .ticker-track{animation-play-state:paused}
@keyframes seasonal-ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:650px){.seasonal-ticker{height:62px}.ticker-group{gap:38px;padding-right:38px;font-size:27px}.ticker-group span:last-child{font-size:20px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;transform:none}.ticker-group[aria-hidden="true"]{display:none}}

/* Seasonal offer type and spacing */
.ticker-group{gap:0;padding-right:220px;font-family:'Restora',Georgia,serif;font-size:11px;font-weight:500;font-synthesis:weight}
.ticker-group span:last-child{font-size:11px}
@media(max-width:650px){.ticker-group{gap:0;padding-right:90px;font-size:11px}.ticker-group span:last-child{font-size:11px}}

/* Match seasonal offer lettering to the responsive hero headline. */
.seasonal-ticker{height:auto;min-height:calc(clamp(48px,5.8vw,72px) + 26px);padding-block:13px}
.ticker-group{font-size:clamp(48px,5.8vw,72px);line-height:.95;padding-right:220px}
@media(max-width:650px){.seasonal-ticker{min-height:calc(clamp(56px,14vw,78px) + 22px);padding-block:11px}.ticker-group{font-size:clamp(56px,14vw,78px);padding-right:90px}}

/* Compact seasonal offer banner */
.seasonal-ticker{height:52px;min-height:52px;padding-block:0}
.ticker-group{font-size:21px;line-height:1}
@media(max-width:650px){.seasonal-ticker{height:48px;min-height:48px;padding-block:0}.ticker-group{font-size:21px}}

.seasonal-ticker .ticker-group{font-size:27px}
@media(max-width:650px){.seasonal-ticker .ticker-group{font-size:27px}}

/* Client logo marquee beneath the portfolio */
.client-strip{overflow:hidden;padding:45px 0 52px;background:#ffffff;border-block:1px solid #dedbd1}
.client-strip-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.client-strip-head .eyebrow{margin:0;color:#645300;font-weight:700}
.client-strip-note{font-size:11px;color:var(--muted)}
.client-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.client-track{display:flex;width:max-content;animation:client-marquee-left 34s linear infinite}
.client-group{display:flex;align-items:center;gap:68px;padding-right:68px}
.client-wordmark{display:inline-block;white-space:nowrap;font-family:Inter,Arial,sans-serif;font-size:21px;font-weight:700;letter-spacing:-.045em;color:#32322e;opacity:.82}
.wordmark-cissy{color:#2c99c9}.wordmark-collecto{color:#7b197e}.wordmark-adjust{color:#1e3d6a}.wordmark-rotaract{font-size:18px}.wordmark-utga{color:#587332;font-family:Restora,Georgia,serif;font-size:26px}.wordmark-agri{color:#277644;font-family:Restora,Georgia,serif}.wordmark-covenant{font-size:18px}.wordmark-othetic{font-family:Restora,Georgia,serif;font-size:24px}
.client-marquee:hover .client-track{animation-play-state:paused}
@keyframes client-marquee-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.client-track{animation:none;transform:none}.client-group[aria-hidden="true"]{display:none}}
@media(max-width:650px){.client-strip{padding:35px 0}.client-strip-head{display:block;margin-bottom:18px}.client-strip-note{display:block;margin-top:8px}.client-group{gap:38px;padding-right:38px}.client-wordmark{font-size:18px}.wordmark-utga,.wordmark-othetic{font-size:21px}}

/* Meet our team profile starter */
.team-section{margin-top:74px;padding-top:52px;border-top:1px solid #ffffff22}
.team-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}
.team-heading h2{margin:7px 0 0;font-size:clamp(32px,4vw,46px)}
.team-heading>p{max-width:340px;margin:0;color:#c4c3bd;font-size:12px;line-height:1.7}
.team-card{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:center;max-width:730px;padding:18px;border:1px solid #ffffff24;border-radius:18px;background:#ffffff08}
.team-photo{min-height:225px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:12px;background:linear-gradient(145deg,#282823,#1c1c18);color:#b9b7ac}
.team-photo svg{width:78px;height:94px;fill:#77766f}.team-photo span{font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.team-card-copy .team-role{color:var(--yellow);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.team-card-copy h3{margin:8px 0 2px;font-size:25px}.team-card-copy .team-title{color:#c7c5bb;font-size:11px}.team-card-copy p{max-width:420px;color:#c4c3bd;font-size:12px;line-height:1.75}
.team-socials{display:flex;gap:9px;margin-top:16px}.team-socials a{width:35px;height:35px;display:grid;place-items:center;border:1px solid #ffffff38;border-radius:50%;color:#fff;transition:background .2s,color .2s,border-color .2s}.team-socials a:hover,.team-socials a:focus-visible{background:var(--yellow);border-color:var(--yellow);color:#111;outline:none}.team-socials svg{width:16px;height:16px;fill:currentColor;stroke:currentColor;stroke-width:1.5;fill-rule:evenodd}.team-socials svg rect,.team-socials svg circle{fill:none}.team-socials svg .team-icon-dot{fill:currentColor}
@media(max-width:650px){.team-section{margin-top:48px;padding-top:36px}.team-heading{display:block}.team-heading>p{margin-top:12px}.team-card{grid-template-columns:1fr;gap:18px;max-width:440px}.team-photo{min-height:200px}}

.team-photo.team-portrait{display:block;width:100%;height:225px;object-fit:cover;object-position:center 35%;background:#282823}
@media(max-width:650px){.team-photo.team-portrait{height:300px;object-position:center 35%}}


/* Use supplied image assets as the client strip marks */
.client-group{gap:18px;padding-right:18px}
.client-logo{display:block;flex:0 0 auto;width:178px;height:92px;padding:14px;object-fit:contain;border:1px solid #e7e4dc;border-radius:13px;background:#fff;box-shadow:0 5px 16px #1717150a}
.client-track{animation-duration:42s}
@media(max-width:650px){.client-group{gap:12px;padding-right:12px}.client-logo{width:138px;height:76px;padding:10px}}

/* White surfaces and a more open client logo strip */
.client-strip{background:#fff}
.client-group{gap:46px;padding-right:46px}
.client-logo{width:232px;height:146px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
@media(max-width:650px){.client-group{gap:24px;padding-right:24px}.client-logo{width:172px;height:112px;padding:0}}


.motion-video-grid{row-gap:24px}.motion-video-card{overflow:hidden}.motion-video-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#171715}.motion-video-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.motion-video-thumb:hover img{transform:scale(1.035)}.motion-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:54px;height:54px;padding-left:3px;transform:translate(-50%,-50%);border:1px solid #ffffffaa;border-radius:50%;background:#111b;color:#fff;font-size:17px;transition:background .2s,transform .2s}.motion-video-thumb:hover .motion-play{background:var(--yellow);color:#111;transform:translate(-50%,-50%) scale(1.08)}


/* Square 1080px carousel artwork, scaled to fit each screen. */
.portfolio-art{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}
.work-slide{width:min(82%,360px);aspect-ratio:1/1}
@media(max-width:900px){.work-slide{width:min(82%,330px)}}
@media(max-width:650px){.work-slide{width:min(82%,265px)}}


/* Shorter client logo banner */
.client-strip{padding:24px 0 30px}
.client-strip-head{margin-bottom:12px}
.client-logo{height:108px;width:210px}
@media(max-width:650px){.client-strip{padding:20px 0 24px}.client-strip-head{margin-bottom:10px}.client-logo{height:88px;width:150px}}


/* Automated page-flip case study: Asian Fusion and host uniforms */
.asian-impressions{background:#fff}
.impression-showcase{max-width:1000px;margin-inline:auto}
.impression-book{position:relative;overflow:hidden;aspect-ratio:1.78;background:#f3f1ed;perspective:1800px;isolation:isolate;border-radius:12px;box-shadow:0 20px 55px #1112}
.impression-book img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;backface-visibility:hidden}
.impression-current{z-index:1}
.impression-next{z-index:2;visibility:hidden}
.impression-book.is-turning .impression-next{visibility:visible;transform-origin:left center;animation:impression-page-in .82s cubic-bezier(.5,.05,.2,1) both}
.impression-book.is-turning .impression-current{transform-origin:left center;animation:impression-page-out .82s cubic-bezier(.5,.05,.2,1) both}
.impression-book.is-turning.turn-prev .impression-next{transform-origin:right center;animation-name:impression-page-in-reverse}
.impression-book.is-turning.turn-prev .impression-current{transform-origin:right center;animation-name:impression-page-out-reverse}
@keyframes impression-page-in{from{transform:rotateY(-88deg);filter:brightness(.7)}to{transform:rotateY(0);filter:brightness(1)}}
@keyframes impression-page-out{from{transform:rotateY(0);filter:brightness(1)}to{transform:rotateY(88deg);filter:brightness(.68)}}
@keyframes impression-page-in-reverse{from{transform:rotateY(88deg);filter:brightness(.7)}to{transform:rotateY(0);filter:brightness(1)}}
@keyframes impression-page-out-reverse{from{transform:rotateY(0);filter:brightness(1)}to{transform:rotateY(-88deg);filter:brightness(.68)}}
.impression-controls{display:flex;align-items:center;gap:14px;margin-top:18px}
.impression-controls button{min-width:42px;height:42px;border:1px solid #d7d5cf;border-radius:50%;background:#fff;color:#111;font-size:19px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.impression-controls button:hover,.impression-controls button:focus-visible{background:var(--yellow);border-color:var(--yellow);transform:translateY(-2px);outline:none}
.impression-controls .impression-toggle{width:auto;min-width:80px;padding:0 15px;border-radius:24px;font-size:11px;font-weight:700}
.impression-count{min-width:55px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.impression-count span{color:#999}
.impression-progress{height:3px;flex:1;overflow:hidden;background:#e8e6df}.impression-progress span{display:block;width:10%;height:100%;background:var(--yellow);transition:width .3s}
.impression-hint{margin:11px 0 0;color:#77766f;font-size:11px}
@media(max-width:650px){.impression-book{border-radius:8px}.impression-controls{gap:8px;margin-top:12px}.impression-controls button{min-width:36px;height:36px}.impression-controls .impression-toggle{min-width:67px;padding:0 11px}.impression-hint{font-size:10px}}
@media(prefers-reduced-motion:reduce){.impression-book.is-turning .impression-next,.impression-book.is-turning .impression-current{animation-duration:.01ms}}

/* Apple-inspired glass frame around the moving promotional artwork */
.ads-marquee{position:relative;overflow:hidden;padding:18px 0;background:linear-gradient(115deg,#f1f2f4 0%,#fbfbfc 48%,#eef0f2 100%);border-block:1px solid #dfe1e5;isolation:isolate}
.ads-marquee:before,.ads-marquee:after{position:absolute;z-index:3;top:0;bottom:0;width:clamp(28px,6vw,100px);content:"";pointer-events:none}
.ads-marquee:before{left:0;background:linear-gradient(90deg,#f3f4f6,transparent)}
.ads-marquee:after{right:0;background:linear-gradient(270deg,#f0f1f3,transparent)}
.ads-marquee-track{display:flex;width:max-content;animation:ads-marquee-scroll 62s linear infinite;will-change:transform}
.ads-banner-group{display:flex;flex:0 0 auto;align-items:center;gap:24px;padding-right:24px}
.ads-banner-card{position:relative;flex:0 0 clamp(390px,43vw,740px);overflow:hidden;aspect-ratio:4000/1167;padding:7px;border:1px solid #ffffffd9;border-radius:20px;background:linear-gradient(145deg,#ffffffa8,#ffffff35 48%,#ffffff78);box-shadow:0 12px 30px #20293818,inset 0 1px 0 #ffffff;backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35)}
.ads-banner-card:after{position:absolute;inset:7px;content:"";border:1px solid #ffffff99;border-radius:14px;pointer-events:none;background:linear-gradient(145deg,#ffffff24,transparent 28%,transparent 76%,#ffffff14)}
.ads-banner-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:13px}
.ads-marquee:hover .ads-marquee-track,.ads-marquee:focus-within .ads-marquee-track{animation-play-state:paused}
@keyframes ads-marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:650px){.ads-marquee{padding:12px 0}.ads-banner-group{gap:14px;padding-right:14px}.ads-banner-card{flex-basis:82vw;padding:5px;border-radius:15px}.ads-banner-card:after{inset:5px;border-radius:11px}.ads-banner-card img{border-radius:10px}.ads-marquee-track{animation-duration:48s}}
@media(prefers-reduced-motion:reduce){.ads-marquee-track{animation:none;transform:none}.ads-banner-group[aria-hidden="true"]{display:none}}

/* Dark glass treatment for the homepage portfolio slots */
.portfolio-section{background:#151512;color:#f5f4ef}
.portfolio-section .section-head .eyebrow{color:var(--yellow)}
.portfolio-section .section-head p{color:#c4c3bd}
.portfolio-section .project-card{position:relative;overflow:hidden;border:1px solid #ffffff30;border-radius:20px;background:linear-gradient(145deg,#ffffff1c,#ffffff08 52%,#ffffff0d);box-shadow:0 18px 42px #0005,inset 0 1px 0 #ffffff38;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.portfolio-section .project-card:before{position:absolute;z-index:1;top:0;left:0;right:0;height:34%;content:"";background:linear-gradient(180deg,#ffffff17,transparent);pointer-events:none}
.portfolio-section .project-card:hover{transform:translateY(-6px);border-color:#f4cc0080;box-shadow:0 25px 50px #0007,inset 0 1px 0 #ffffff52}
.portfolio-section .project-card img{background:transparent;position:relative}
.portfolio-section .project-info{position:relative;z-index:2;border-top:1px solid #ffffff1a;background:#ffffff0a}
.portfolio-section .project-info>span{color:var(--yellow)}
.portfolio-section .project-info h3{color:#fff}
.portfolio-section .project-info p{color:#c4c3bd}
@media(prefers-reduced-motion:reduce){.portfolio-section .project-card{transition:none}}

/* Glass service cards with a traveling yellow focus stroke */
.service-grid{gap:14px;border:0}
.service-grid .service{position:relative;isolation:isolate;overflow:hidden;min-height:250px;padding:25px 22px;border:1px solid #ffffffc2;border-radius:22px;background:linear-gradient(145deg,#ffffffb8,#ffffff78 52%,#ffffffa3);box-shadow:0 14px 34px #17171510,inset 0 1px 0 #ffffff;backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease}
.service-grid .service:before{position:absolute;z-index:-1;inset:0;content:"";border-radius:inherit;background:linear-gradient(135deg,#ffffff99,transparent 42%,#ffffff25);opacity:.8;pointer-events:none}
.service-grid .service>*{position:relative;z-index:1}
.service-grid .service:hover,.service-grid .service:focus-visible,.service-grid .service.is-current{transform:translateY(-3px);border-color:var(--yellow);background:linear-gradient(145deg,#fff,#ffffffc9);box-shadow:0 0 0 1px var(--yellow),0 15px 38px #f4cc0036,inset 0 1px 0 #fff;outline:none}
.service-grid .service-number{color:#77766f}
.service-grid .service-number span:last-child{color:#988400}
.service-grid .service h3{color:#111}
.service-grid .service p{color:#68665e}
.service-grid .service-link{color:#6f5d00}
@media(max-width:650px){.service-grid{gap:10px}.service-grid .service{min-height:220px;padding:18px 14px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.service-grid .service{transition:none}}

/* Site-wide frosted-glass surfaces, tuned to each section's existing palette */
.project-card{border:1px solid #ffffffb8;border-radius:22px;background:linear-gradient(145deg,#ffffffd9,#ffffff9e 55%,#ffffffc7);box-shadow:0 16px 38px #22211c14,inset 0 1px 0 #ffffff;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}
.package{border-radius:22px;background:linear-gradient(145deg,#ffffff1b,#ffffff08 62%,#ffffff11);box-shadow:0 16px 38px #0004,inset 0 1px 0 #ffffff36;backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);transition:transform .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease}
.package.featured,.packages .package.is-selected{background:linear-gradient(145deg,#ffe34f,#f4cc00e8);border-color:#ffffffa8;box-shadow:0 18px 42px #0005,inset 0 1px 0 #fff9;backdrop-filter:blur(18px) saturate(1.2)}
.service-callout,.team-card{border:1px solid #ffffff38;border-radius:22px;background:linear-gradient(145deg,#ffffff18,#ffffff08 58%,#ffffff10);box-shadow:0 16px 38px #0003,inset 0 1px 0 #ffffff25;backdrop-filter:blur(20px) saturate(1.18);-webkit-backdrop-filter:blur(20px) saturate(1.18)}
.service-benefit,.enquiry-form{border:1px solid #ffffffc7;border-radius:22px;background:linear-gradient(145deg,#ffffffd9,#ffffff9b 55%,#ffffffc4);box-shadow:0 16px 38px #28251c12,inset 0 1px 0 #ffffff;backdrop-filter:blur(20px) saturate(1.22);-webkit-backdrop-filter:blur(20px) saturate(1.22)}
.ad-note{border:1px solid #ffffff30;border-left:3px solid var(--yellow);border-radius:18px;background:linear-gradient(145deg,#ffffff17,#ffffff08);box-shadow:0 12px 28px #0003,inset 0 1px 0 #ffffff25;backdrop-filter:blur(16px) saturate(1.12)}
.process{padding:20px;border:1px solid #ffffffb5;border-top:2px solid var(--yellow);border-radius:20px;background:linear-gradient(145deg,#ffffffcf,#ffffff8a 60%,#ffffffbd);box-shadow:0 14px 32px #28251c10,inset 0 1px 0 #fff;backdrop-filter:blur(16px) saturate(1.15)}
.about-mark{border:1px solid #ffffff8c;border-radius:26px;background:linear-gradient(145deg,#ffe34fe8,#f4cc00bd 62%,#f4cc00dc);box-shadow:0 20px 42px #29220a1a,inset 0 1px 0 #fff9;backdrop-filter:blur(18px) saturate(1.2)}
.impression-book{border:1px solid #ffffffb8;border-radius:22px;box-shadow:0 20px 55px #1112,inset 0 1px 0 #fff}
@media(max-width:650px){.project-card,.package,.service-callout,.service-benefit,.team-card,.enquiry-form,.process,.about-mark{border-radius:18px}.impression-book{border-radius:15px}}

/* White background for the About section */
.about{background:#fff}

