/* Figma homepage template. Values mirror the 1440px reference frame. */
body.ha-figma-design { --fh-blue:#0f5db3; --fh-deep:#05284e; --fh-ink:#020d1a; --fh-lime:#cdf84e; --fh-sky:#eef3ff; --fh-periwinkle:#6091f8; --fh-pastel:#94b7fe; --fh-container:1340px; --fh-gutter:clamp(22px,3.472vw,50px); margin:0; color:var(--fh-ink); font:400 16px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; overflow-x:hidden }
.ha-figma-design *, .ha-figma-design *::before, .ha-figma-design *::after { box-sizing:border-box }
.fh-home { overflow:hidden; background:#fff }
.fh-container { width:min(calc(100% - var(--fh-gutter)*2),var(--fh-container)); margin-inline:auto }
.ha-figma-design .site-header { position:absolute; inset:0 0 auto; z-index:30; color:#fff }
.ha-figma-design .header-inner { width:min(calc(100% - var(--fh-gutter)*2),var(--fh-container)); height:110px; margin:auto; border-bottom:1px solid rgb(255 255 255/.22) }
.ha-figma-design .brand img { display:block; width:219px; max-width:219px; max-height:60px; object-fit:contain }
.ha-figma-design .fh-header-logo { display:block; width:219px; height:39px; background:linear-gradient(90deg,#cdf84e 0 52px,#fff 52px); mask:url('../figma-home/brand-mask.png') left center/379px 39px no-repeat; -webkit-mask:url('../figma-home/brand-mask.png') left center/379px 39px no-repeat }
.ha-figma-design .primary-nav { gap:clamp(13px,2vw,28px) }
.ha-figma-design .primary-nav ul { gap:clamp(12px,1.6vw,24px) }
.ha-figma-design .primary-nav a:not(.button) { display:inline-flex; align-items:center; gap:7px; color:#fff; white-space:nowrap; font-size:16px; line-height:24px }
.ha-figma-design .primary-nav a:not(.button):hover { color:var(--fh-lime) }
.fh-nav-icon { width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; flex:none }
.fh-nav-icon img { width:20px; height:20px; object-fit:contain }
.ha-figma-home .primary-nav ul li:first-child .fh-nav-icon img { filter:brightness(0) saturate(100%) invert(87%) sepia(65%) saturate(659%) hue-rotate(23deg) brightness(104%) contrast(101%) }
.fh-header-social { display:flex; align-items:center; gap:12px; margin-left:clamp(20px,3vw,52px) }
.fh-header-social a, .fh-header-social span { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--fh-lime) }
.fh-header-social img { width:22px; height:22px; object-fit:contain }
.fh-header-social .fh-social-instagram { background:var(--fh-periwinkle) }
.fh-header-social .fh-social-linkedin { background:var(--fh-pastel) }
.ha-figma-design .primary-nav .button { min-height:50px; padding:0 25px; color:var(--fh-ink); background:#fff; border-color:#fff; border-radius:28px; font-size:14px }
.ha-figma-design .menu-toggle { display:none }

.fh-hero { position:relative; min-height:765px; padding-top:110px; color:#fff; background:var(--fh-blue); overflow:hidden }
.fh-hero-pattern { position:absolute; inset:0; opacity:.24; pointer-events:none; background:url('../figma-home/hero-rectangle9798.png') center top/1552px 887px no-repeat; mask-image:linear-gradient(180deg,#000,transparent 92%) }
.fh-hero-inner { min-height:655px; display:grid; grid-template-columns:minmax(0,614px) minmax(0,526px); justify-content:space-between; align-items:center; gap:40px; position:relative; z-index:1 }
.fh-hero-copy { align-self:center; padding-top:4px; max-width:614px }
.fh-eyebrow { margin:0 0 20px; color:var(--fh-lime); font-size:16px; font-weight:600; letter-spacing:.02em; line-height:24px; text-transform:uppercase }
.fh-hero h1 { max-width:680px; margin:0 0 18px; font-size:clamp(50px,5vw,72px); font-weight:600; letter-spacing:-.02em; line-height:1.18; color:#fff }
.fh-lead { max-width:614px; margin:0; color:#fff; font-size:18px; line-height:26px }
.fh-actions { display:flex; flex-wrap:wrap; gap:22px; margin-top:30px }
.fh-button { min-height:55px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 30px; border:1px solid transparent; border-radius:50px; font-size:18px; font-weight:500; line-height:22px; transition:transform .18s ease,background .18s ease,color .18s ease }
.fh-button:hover { transform:translateY(-2px) }
.fh-button-lime { color:var(--fh-ink); background:var(--fh-lime); border-color:var(--fh-lime) }
.fh-button-outline { color:#fff; background:transparent; border-color:var(--fh-lime) }
.fh-button-outline:hover { color:var(--fh-deep); background:var(--fh-lime) }
.fh-button-icon { width:18px; height:18px; object-fit:contain }
.fh-proof { display:flex; align-items:center; gap:18px; margin-top:32px }
.fh-avatars { display:flex; align-items:center; padding-left:2px }
.fh-avatars img { width:47px; height:47px; margin-left:-19px; border:1px solid #fff; border-radius:50%; object-fit:cover }
.fh-proof-copy { display:flex; flex-direction:column; gap:8px; font-size:16px; line-height:24px }
.fh-stars { display:flex; gap:2px; color:#fff; font-size:16px; letter-spacing:1px; line-height:19px }
.fh-stars img { width:19px; height:19px; object-fit:contain }
.fh-hero-art { align-self:stretch; position:relative; display:flex; align-items:flex-start; justify-content:center; min-width:0; overflow:hidden }
.fh-hero-portrait { position:absolute; z-index:2; top:0; left:0; width:100%; height:auto; max-width:none }
.fh-hero-name { position:absolute; z-index:3; top:249px; left:607px; min-width:158px; height:61px; display:flex; align-items:center; justify-content:center; padding:0 16px; background:#fff; color:var(--fh-deep); border-radius:8px; font-size:26px; font-weight:600; line-height:31px; box-shadow:0 3px 18px #05284e22 }
.fh-hero-name img { position:absolute; left:-11px; top:-42px; width:41.638px; height:49.638px; max-width:none }
.fh-hero-flower, .fh-contact-flower { position:absolute; width:205px; height:auto; display:block; background:transparent; opacity:.3; z-index:1; pointer-events:none }
.fh-hero-flower { right:-20px; top:30px }
.fh-hero-flower img, .fh-contact-flower img { display:block; width:100%; height:auto; object-fit:contain }
.fh-ticker { height:75px; overflow:hidden; display:flex; align-items:center; color:#fff; background:var(--fh-deep) }
.fh-ticker-track { width:max-content; display:flex; align-items:center; gap:14px; white-space:nowrap; animation:fh-marquee 32s linear infinite }
.fh-ticker-track span { font-size:26px; font-weight:500 }
.fh-ticker-track img { width:26px; height:26px; object-fit:contain }
@keyframes fh-marquee { to { transform:translateX(-50%) } }

.fh-section { padding:80px 0 }
.fh-section-label { display:flex; align-items:center; gap:10px; width:100%; min-height:32px }
.fh-square { width:12px; height:12px; flex:none; background:var(--fh-blue) }
.fh-section-label h2 { margin:0; color:var(--fh-deep); font-size:26px; font-weight:600; line-height:32px }
.fh-rule { flex:1; height:1px; margin-left:12px; background:#d8d8d8 }
.fh-section-label.is-light h2 { color:#fff }
.fh-section-label.is-light .fh-square { background:var(--fh-lime) }
.fh-section-label.is-light .fh-rule { background:#ffffff55 }

.fh-about { position:relative }
.fh-about::before { content:""; position:absolute; left:38px; top:365px; width:280px; height:275px; background:#eef3ff; mask:url('../figma-home/about-flower.png') center/contain no-repeat; pointer-events:none }
.fh-about-grid { position:relative; display:grid; grid-template-columns:298px minmax(0,844px); justify-content:space-between; gap:40px; margin-top:60px }
.fh-about-identity h2 { margin:0 0 8px; color:var(--fh-deep); font-size:54px; font-weight:600; letter-spacing:-.025em; line-height:65px }
.fh-about-identity p, .fh-about-identity span { display:block; margin:0; font-size:18px; line-height:26px }
.fh-about-identity span { color:#68696b }
.fh-about-bio { margin:0 0 30px; font-size:26px; line-height:36px; mask-image:linear-gradient(#000 60%,#0006 100%) }
.fh-about-cards { display:grid; grid-template-columns:minmax(0,301px) 151px minmax(0,330px); align-items:center; gap:20px }
.fh-stats-card, .fh-contact-card { height:186px; padding:18px; border-radius:13px; color:#fff; background:var(--fh-pastel) }
.fh-stat-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-bottom:18px; border-bottom:1px dashed #fff9 }
.fh-stat-row>div+div { padding-left:12px; border-left:1px dashed #fff9 }
.fh-stats-card span, .fh-contact-card span { display:block; margin-bottom:4px; font-size:14px; line-height:18px }
.fh-stats-card strong { display:block; font-size:26px; font-weight:600; line-height:32px }
.fh-stat-bottom { padding-top:11px }
.fh-about-photo { position:relative; width:151px; height:186px; padding:10px; border-radius:13px; background:var(--fh-lime); transform:rotate(5deg) }
.fh-about-photo img { width:100%; height:100%; object-fit:cover; object-position:center; border-radius:8px; transform:rotate(-5deg) }
.fh-about-photo span { position:absolute; left:11px; top:11px; width:9px; height:9px; border-radius:50%; background:var(--fh-blue) }
.fh-contact-card { display:flex; flex-direction:column; justify-content:space-between; padding:22px 24px; background:var(--fh-periwinkle) }
.fh-contact-card a, .fh-contact-card strong { display:block; color:#fff; font-size:16px; font-weight:500; line-height:23px }

.fh-services { padding-bottom:80px }
.fh-service-grid { display:flex; gap:20px; margin-top:60px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none }
.fh-service-grid::-webkit-scrollbar { display:none }
.fh-service-card { position:relative; display:block; flex:0 0 calc((100% - 40px)/3); aspect-ratio:432/457; overflow:hidden; border-radius:12px; background:#dce5f6; isolation:isolate; scroll-snap-align:start }
.fh-service-card>img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease }
.fh-service-card:hover>img { transform:scale(1.035) }
.fh-service-shade { position:absolute; inset:45% 0 0; background:linear-gradient(180deg,transparent,#05284eeb) }
.fh-service-title { position:absolute; left:34px; right:34px; bottom:34px; display:flex; align-items:flex-end; justify-content:space-between; gap:16px; color:#fff; font-size:26px; font-weight:500; line-height:32px }
.fh-service-title img { width:32px; height:32px; flex:none }
.fh-slider-controls { display:flex; gap:12px; align-items:center }
.fh-services>.fh-container>.fh-slider-controls { justify-content:center; margin-top:40px }
.fh-slider-arrow { width:65px; height:65px; padding:0; display:grid; place-items:center; border:0; border-radius:50%; cursor:pointer }
.fh-slider-arrow span, .fh-slider-arrow svg { width:30px; height:30px; display:block }
.fh-slider-arrow svg { overflow:visible; fill:none; stroke:currentColor; stroke-width:2.25; stroke-linecap:round; stroke-linejoin:round }
.fh-slider-arrow[data-fh-prev] svg { transform:scaleX(-1) }
.fh-slider-arrow.is-lime { background:var(--fh-lime); color:var(--fh-deep) }
.fh-slider-arrow.is-blue { background:var(--fh-blue); color:#fff }
.fh-slider-arrow.is-periwinkle { background:var(--fh-periwinkle); color:#fff }

.fh-project-grid, .fh-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 20px; margin-top:60px }
.fh-project-card, .fh-blog-card { min-width:0 }
.fh-project-image, .fh-blog-image { position:relative; display:block; width:100%; aspect-ratio:430/297; overflow:hidden; border-radius:12px; background:#edf2ff }
.fh-project-card:nth-child(1) .fh-project-image { background:#ffd5fc }
.fh-project-card:nth-child(2) .fh-project-image { background:#809a5c }
.fh-project-card:nth-child(3) .fh-project-image { background:#eb4c3d }
.fh-project-card:nth-child(4) .fh-project-image { background:#449aaa }
.fh-project-card:nth-child(5) .fh-project-image { background:#004b96 }
.fh-project-card:nth-child(6) .fh-project-image { background:#179f9a }
.fh-project-image img, .fh-blog-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease }
.fh-project-image:hover img, .fh-blog-image:hover img { transform:scale(1.035) }
.fh-project-image>span, .fh-blog-image>span { position:absolute; right:12px; top:12px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--fh-blue); opacity:0; transition:opacity .2s }
.fh-project-image:hover>span, .fh-blog-image:hover>span { opacity:1 }
.fh-project-card h3, .fh-blog-card h3 { margin:14px 0 6px; color:var(--fh-deep); font-size:26px; font-weight:600; line-height:32px }
.fh-project-card p, .fh-blog-card p { margin:0; color:var(--fh-ink); font-size:16px; line-height:24px }
.fh-center-button { display:flex; width:max-content; min-height:55px; margin:40px auto 0; padding:0 30px; font-size:18px }

.fh-reviews { padding:80px 0; overflow:hidden; background:var(--fh-blue); color:#fff }
.fh-reviews-layout { display:grid; grid-template-columns:minmax(260px,360px) minmax(0,1fr); gap:28px; align-items:center; margin-top:60px }
.fh-reviews-aside { align-self:stretch; display:flex; flex-direction:column; align-items:flex-start; justify-content:center }
.fh-quote-mark { width:173px; height:173px; object-fit:contain; opacity:.35 }
.fh-reviews-aside h2 { max-width:320px; margin:20px 0 32px; color:#fff; font-size:54px; font-weight:600; letter-spacing:-.025em; line-height:1.2 }
.fh-review-window { min-width:0; overflow:hidden }
.fh-review-track { display:flex; width:max-content; gap:18px; transition:transform .4s ease }
.fh-review-card { flex:0 0 414px; min-height:470px; padding:28px 22px; display:flex; flex-direction:column; justify-content:space-between; border-radius:13px; background:var(--fh-periwinkle); color:#fff }
.fh-review-card>p { margin:0; font-size:20px; line-height:31px }
.fh-review-person { display:flex; align-items:center; justify-content:space-between; gap:15px }
.fh-review-person strong, .fh-review-person span { display:block }
.fh-review-person strong { font-size:26px; font-weight:600; line-height:32px }
.fh-review-person div>span { font-size:18px; line-height:26px }
.fh-fiverr { width:66px; height:66px; object-fit:contain; border-radius:50% }

.fh-tools-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:56px; align-items:center; margin-top:60px }
.fh-tool-grid { display:grid; grid-template-columns:repeat(6,104px); grid-auto-rows:104px; gap:24px; width:571px; height:490px; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent) }
.fh-tool-tile { min-width:0; aspect-ratio:1; display:grid; place-items:center; padding:14px; border-radius:13px; background:#fbfcff; box-shadow:0 4px 18px #0c27401a }
.fh-tool-tile img { display:block; max-width:100%; width:auto; max-height:62px; height:auto; object-fit:contain }
.fh-tools-copy h2 { max-width:590px; margin:0 0 20px; color:var(--fh-deep); font-size:54px; font-weight:600; letter-spacing:-.025em; line-height:1.2 }
.fh-tools-copy p { max-width:600px; margin:0; font-size:20px; line-height:32px }
.fh-tools-copy .fh-button { margin-top:40px; min-height:55px; padding:0 30px; font-size:18px }

.fh-blog-card { min-height:516px; padding:16px; border-radius:12px; background:var(--fh-sky) }
.fh-blog-image { aspect-ratio:398/238; border-radius:11px }
.fh-blog-card h3 { margin-top:22px; font-size:24px; line-height:30px }
.fh-blog-card p { margin-top:8px; font-size:16px; line-height:24px }
.fh-blog-link { display:inline-flex; gap:8px; margin-top:22px; color:var(--fh-blue); font-size:18px; font-weight:500 }

.fh-contact { position:relative; padding:80px 0; overflow:hidden; background:var(--fh-blue); color:#fff }
.fh-contact-layout { position:relative; display:grid; grid-template-columns:minmax(0,525px) minmax(0,577px); justify-content:space-between; align-items:start; gap:50px; margin-top:60px }
.fh-contact-left { position:relative; min-height:647px; padding-top:0 }
.fh-contact-left h2 { position:relative; z-index:1; max-width:525px; margin:0 0 48px; color:#fff; font-size:54px; font-weight:600; letter-spacing:-.025em; line-height:1.2 }
.fh-contact-flower { width:220px; left:52%; top:190px; opacity:.23 }
.fh-contact-list { position:relative; z-index:1; display:grid; gap:20px }
.fh-contact-item { display:flex; align-items:center; gap:20px }
.fh-contact-icon { width:66px; height:66px; display:grid; place-items:center; flex:none; border-radius:50%; background:var(--fh-lime) }
.fh-contact-icon img { width:44px; height:44px; object-fit:contain }
.fh-contact-item strong, .fh-contact-item a, .fh-contact-item>div>span { display:block; color:#fff }
.fh-contact-item strong { font-size:24px; font-weight:600; line-height:30px }
.fh-contact-item a, .fh-contact-item>div>span { font-size:18px; line-height:26px }
.fh-form-card { position:relative; z-index:2; min-height:647px; padding:26px; border-radius:15px; background:var(--fh-periwinkle); color:#fff }
.fh-form-card h3 { margin:0 0 24px; font-size:24px; font-weight:600; line-height:30px }
.fh-form-card form { display:grid; gap:18px }
.fh-form-card label { min-width:0; display:grid; gap:7px; color:#fff; font-size:16px; line-height:22px }
.fh-form-card input, .fh-form-card select, .fh-form-card textarea { width:100%; min-height:49px; padding:12px 16px; border:1px solid #ffffff5c; border-radius:11px; outline:0; color:#fff; background:transparent; font:400 16px/20px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
.fh-form-card input::placeholder, .fh-form-card textarea::placeholder, .fh-form-card select:invalid { color:#ffffffbb; opacity:1 }
.fh-form-card select option { color:var(--fh-deep); background:#fff }
.fh-form-card textarea { min-height:101px; resize:vertical }
.fh-form-card input:focus, .fh-form-card select:focus, .fh-form-card textarea:focus { border-color:var(--fh-lime); box-shadow:0 0 0 2px #cdf84e55 }
.fh-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px }
.fh-form-submit { min-height:55px; display:flex; align-items:center; justify-content:center; gap:7px; margin-top:2px; border:1px solid var(--fh-lime); border-radius:28px; color:var(--fh-deep); background:#fff; cursor:pointer; font:500 18px/22px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
.fh-form-submit:hover { background:var(--fh-lime) }
.fh-form-notice { margin:0 0 14px; padding:10px 14px; border-radius:8px; color:var(--fh-deep); background:#fff }
.fh-form-card .fluentform { color:#fff }
.fh-form-card .fluentform .ff-el-group { margin-bottom:18px }
.fh-form-card .fluentform .ff-el-input--label label { color:#fff; font-size:16px; line-height:22px }
.fh-form-card .fluentform .ff-el-form-control { width:100%; min-height:49px; padding:12px 16px; border:1px solid #ffffff5c; border-radius:11px; color:#fff; background:transparent; box-shadow:none; font:400 16px/20px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
.fh-form-card .fluentform .ff-el-form-control::placeholder { color:#ffffffbb; opacity:1 }
.fh-form-card .fluentform .ff-el-form-control:focus { border-color:var(--fh-lime); box-shadow:0 0 0 2px #cdf84e55 }
.fh-form-card .fluentform .ff-btn-submit { width:100%; min-height:55px; margin-top:2px; border:1px solid var(--fh-lime); border-radius:28px; color:var(--fh-deep); background:#fff; cursor:pointer; font:500 18px/22px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
.fh-form-card .fluentform .ff-btn-submit:hover { color:var(--fh-deep); background:var(--fh-lime) }
.fh-form-card .fluentform .ff-el-is-error .ff-el-form-control { border-color:#ffb2b2 }
.fh-form-card .fluentform .error.text-danger { color:#ffe2e2 }
.fh-form-card .fluentform .ff-message-success { padding:14px; border:0; border-radius:8px; color:var(--fh-deep); background:#fff }

.fh-footer { min-height:482px; display:flex; align-items:center; padding:52px 0 28px; color:#fff; background:var(--fh-deep) }
.fh-footer .fh-container { display:flex; flex-direction:column; align-items:center }
.fh-footer-logo img { display:block; width:510px; height:auto; max-height:54px; object-fit:contain }
.fh-footer>div>p { max-width:730px; margin:38px 0 40px; color:#fff; text-align:center; font-size:18px; line-height:26px }
.fh-footer-rule { width:100%; height:1px; background:#94b7fe55 }
.fh-footer-bottom { width:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:25px; font-size:13px }
.fh-footer-social { display:flex; gap:14px }
.fh-footer-social a, .fh-footer-social>span { width:45px; height:45px; display:grid; place-items:center; border-radius:50%; background:var(--fh-lime) }
.fh-footer-social img { width:22px; height:22px; object-fit:contain }
.fh-footer-social .fh-social-instagram { background:var(--fh-periwinkle) }
.fh-footer-social .fh-social-linkedin { background:var(--fh-pastel) }

@media (max-width:1100px) {
  .ha-figma-design .header-inner { height:90px }
  .fh-header-social { margin-left:14px; gap:8px }
  .fh-header-social a, .fh-header-social span { width:34px; height:34px }
  .fh-hero { min-height:720px; padding-top:90px }
  .fh-hero-inner { min-height:630px; grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); gap:24px }
  .fh-hero-portrait { height:590px }
  .fh-hero h1 { font-size:clamp(46px,6vw,66px) }
  .fh-about-grid { grid-template-columns:240px minmax(0,1fr); gap:50px }
  .fh-about-cards { grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr); gap:12px }
  .fh-about-photo { width:130px }
  .fh-stats-card { padding:13px }
  .fh-contact-card { padding:17px }
  .fh-reviews-layout { grid-template-columns:280px minmax(0,1fr) }
  .fh-review-card { flex-basis:360px }
  .fh-tools-layout { gap:36px }
  .fh-tool-grid { width:100%; height:auto; grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:auto; gap:clamp(8px,1.6vw,18px) }
  .fh-hero-name { top:230px; right:0; left:auto }
}
@media (max-width:900px) {
  .ha-figma-design .header-inner { width:calc(100% - 40px); height:78px }
  .ha-figma-design .brand img { max-width:140px; max-height:50px }
  .ha-figma-design .fh-header-logo { transform:scale(.64); transform-origin:left center }
  .ha-figma-design .menu-toggle { position:relative; z-index:32; width:44px; height:44px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:1px solid #ffffff70; border-radius:50%; background:transparent; cursor:pointer }
  .ha-figma-design .menu-toggle>span:not(.screen-reader-text) { width:18px; height:2px; display:block; border-radius:3px; background:#fff; transition:transform .2s,opacity .2s }
  .ha-figma-design .menu-toggle[aria-expanded=true]>span:nth-child(1) { transform:translateY(7px) rotate(45deg) }
  .ha-figma-design .menu-toggle[aria-expanded=true]>span:nth-child(2) { opacity:0 }
  .ha-figma-design .menu-toggle[aria-expanded=true]>span:nth-child(3) { transform:translateY(-7px) rotate(-45deg) }
  .ha-figma-design .primary-nav { position:fixed; z-index:31; inset:0; display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:24px; padding:90px 28px 40px; background:var(--fh-deep); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s,transform .2s,visibility .2s }
  .ha-figma-design .primary-nav.is-open { opacity:1; visibility:visible; transform:none }
  .ha-figma-design .primary-nav ul { display:grid; gap:20px }
  .ha-figma-design .primary-nav ul a:not(.button) { color:#fff; font-size:22px; line-height:30px }
  .ha-figma-design .primary-nav ul a:not(.button) img { filter:brightness(0) invert(1) }
  .ha-figma-design .primary-nav>.button { align-self:flex-start; margin-top:0 }
  .ha-figma-single .menu-toggle, .ha-figma-project-detail .menu-toggle { border-color:#05284e70 }
  .ha-figma-single .menu-toggle>span:not(.screen-reader-text), .ha-figma-project-detail .menu-toggle>span:not(.screen-reader-text) { background:#05284e }
  .ha-figma-single .primary-nav.is-open ul a:not(.button), .ha-figma-project-detail .primary-nav.is-open ul a:not(.button) { color:#fff }
  .ha-figma-single .primary-nav ul a:not(.button) img, .ha-figma-project-detail .primary-nav ul a:not(.button) img { filter:brightness(0) invert(1) }
  .ha-figma-single .primary-nav.is-open ul a.is-current-blog, .ha-figma-single .primary-nav.is-open ul a.is-current-blog span, .ha-figma-project-detail .primary-nav.is-open ul a.is-current-projects, .ha-figma-project-detail .primary-nav.is-open ul a.is-current-projects span { color:var(--fh-lime)!important }
  .ha-figma-single .primary-nav.is-open ul a.is-current-blog img, .ha-figma-project-detail .primary-nav.is-open ul a.is-current-projects img { filter:brightness(0) saturate(100%) invert(87%) sepia(65%) saturate(659%) hue-rotate(23deg) brightness(104%) contrast(101%) }
  body.ha-figma-design.menu-open { overflow:hidden }
  .fh-project-grid, .fh-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 16px }
  .fh-tools-layout { grid-template-columns:1fr; gap:34px }
  .fh-tool-grid { max-width:700px; margin-inline:auto }
}
@media (max-width:780px) {
  .ha-figma-design .header-inner { width:calc(100% - 40px); height:78px }
  .ha-figma-design .brand img { max-width:140px; max-height:50px }
  .ha-figma-design .fh-header-logo { transform:scale(.64); transform-origin:left center }
  .ha-figma-design .menu-toggle { position:relative; z-index:32; width:44px; height:44px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:1px solid #ffffff70; border-radius:50%; background:transparent; cursor:pointer }
  .ha-figma-design .menu-toggle>span:not(.screen-reader-text) { width:18px; height:2px; display:block; border-radius:3px; background:#fff; transition:transform .2s,opacity .2s }
  .ha-figma-design .menu-toggle[aria-expanded=true]>span:nth-child(1) { transform:translateY(7px) rotate(45deg) }
  .ha-figma-design .menu-toggle[aria-expanded=true]>span:nth-child(2) { opacity:0 }
  .ha-figma-design .menu-toggle[aria-expanded=true]>span:nth-child(3) { transform:translateY(-7px) rotate(-45deg) }
  .ha-figma-design .primary-nav { position:fixed; z-index:31; inset:0; display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:24px; padding:90px 28px 40px; background:var(--fh-deep); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s,transform .2s,visibility .2s }
  .ha-figma-design .primary-nav.is-open { opacity:1; visibility:visible; transform:none }
  .ha-figma-design .primary-nav ul { display:grid; gap:20px }
  .ha-figma-design .primary-nav ul a:not(.button) { font-size:22px; line-height:30px }
  .fh-nav-icon, .fh-nav-icon img { width:22px; height:22px }
  .fh-header-social { margin:0; gap:14px }
  .fh-header-social a, .fh-header-social span { width:40px; height:40px }
  .ha-figma-design .primary-nav>.button { align-self:flex-start; margin-top:0 }
  body.ha-figma-design.menu-open { overflow:hidden }
  .fh-container { width:calc(100% - 40px) }
  .fh-hero { min-height:0; padding:108px 0 0 }
  .fh-hero-inner { min-height:0; grid-template-columns:1fr; gap:22px }
  .fh-hero-copy { max-width:620px; padding-top:0 }
  .fh-eyebrow { margin-bottom:14px }
  .fh-hero h1 { max-width:620px; margin-bottom:16px; font-size:clamp(44px,11vw,66px); line-height:1.08 }
  .fh-lead { font-size:15px; line-height:23px }
  .fh-actions { gap:12px; margin-top:24px }
  .fh-button { min-height:49px; padding:0 20px; font-size:14px }
  .fh-proof { margin-top:23px; gap:14px }
  .fh-hero-art { width:min(100%,480px); min-height:360px; margin:auto; align-items:flex-end }
  .fh-hero-portrait { width:100%; height:auto; max-height:none }
  .fh-hero-name { top:auto; bottom:18px; left:3%; min-width:120px; height:44px; padding:0 12px; font-size:18px }
  .fh-hero-name img { width:29px; height:35px; top:-29px }
  .fh-hero-flower { width:125px; right:0; top:25px }
  .fh-ticker { height:60px }
  .fh-ticker-track span { font-size:15px }
  .fh-section { padding:62px 0 }
  .fh-section-label h2 { font-size:17px }
  .fh-about-grid { grid-template-columns:1fr; gap:26px; margin-top:34px }
  .fh-about-identity h2 { font-size:34px }
  .fh-about-bio { margin-bottom:22px; font-size:16px; line-height:25px }
  .fh-about-cards { grid-template-columns:minmax(0,1fr) 112px; gap:14px }
  .fh-stats-card { height:auto; min-height:175px; padding:15px }
  .fh-about-photo { width:112px; height:175px }
  .fh-contact-card { grid-column:1/-1; min-height:128px; flex-direction:row; gap:10px; padding:17px }
  .fh-contact-card>div { flex:1; min-width:0 }
  .fh-contact-card a, .fh-contact-card strong { overflow-wrap:anywhere; font-size:12px }
  .fh-service-grid { gap:14px; margin-top:34px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none }
  .fh-service-grid::-webkit-scrollbar, .fh-review-window::-webkit-scrollbar { display:none }
  .fh-service-card { flex-basis:min(80vw,400px); scroll-snap-align:start; aspect-ratio:0.96 }
  .fh-service-title { left:17px; right:17px; bottom:17px; font-size:17px }
  .fh-services>.fh-container>.fh-slider-controls { margin-top:25px }
  .fh-slider-arrow { width:56px; height:56px }
  .fh-project-grid, .fh-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 14px; margin-top:34px }
  .fh-project-card h3, .fh-blog-card h3 { font-size:16px; line-height:21px }
  .fh-project-card p, .fh-blog-card p { font-size:12px; line-height:18px }
  .fh-project-image { aspect-ratio:1.35 }
  .fh-center-button { margin-top:30px }
  .fh-reviews { padding:62px 0 }
  .fh-reviews-layout { grid-template-columns:1fr; gap:22px; margin-top:32px }
  .fh-reviews-aside { display:grid; grid-template-columns:1fr auto; align-items:end; gap:12px }
  .fh-quote-mark { display:none }
  .fh-reviews-aside h2 { max-width:330px; margin:0; font-size:36px; line-height:1.14 }
  .fh-reviews-aside .fh-slider-controls { grid-column:2; grid-row:1 }
  .fh-review-window { width:calc(100% + 20px); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none }
  .fh-review-track { transition:none }
  .fh-review-card { flex-basis:min(82vw,400px); min-height:340px; padding:23px 19px; scroll-snap-align:start }
  .fh-review-card>p { font-size:16px; line-height:26px }
  .fh-tools-layout { grid-template-columns:1fr; gap:32px; margin-top:32px }
  .fh-tool-grid { width:100%; height:auto; grid-template-columns:repeat(5,minmax(0,1fr)); grid-auto-rows:auto; gap:9px; mask-image:none }
  .fh-tool-tile { padding:10px; border-radius:10px }
  .fh-tool-tile img { max-height:45px }
  .fh-tools-copy h2 { font-size:34px }
  .fh-tools-copy .fh-button { margin-top:26px }
  .fh-blog-card { min-height:0; padding:10px; border-radius:10px }
  .fh-blog-image { aspect-ratio:1.3 }
  .fh-blog-card h3 { margin-top:14px }
  .fh-blog-card p { margin-top:7px }
  .fh-blog-link { margin-top:15px; font-size:13px }
  .fh-contact { padding:62px 0 }
  .fh-contact-layout { grid-template-columns:1fr; gap:34px; margin-top:34px }
  .fh-contact-left { min-height:0 }
  .fh-contact-left h2 { max-width:460px; margin-bottom:26px; font-size:35px }
  .fh-contact-flower { width:125px; left:auto; right:4%; top:100px }
  .fh-contact-list { gap:15px }
  .fh-contact-item { gap:14px }
  .fh-contact-icon { width:52px; height:52px }
  .fh-contact-icon img { width:36px; height:36px }
  .fh-form-card { min-height:0; padding:22px 18px; border-radius:13px }
  .fh-form-card form { gap:15px }
  .fh-form-row { gap:10px }
  .fh-footer { padding:44px 0 22px }
  .fh-footer-logo img { width:min(80vw,360px); max-height:46px }
  .fh-footer>div>p { margin:27px 0; font-size:14px; line-height:22px }
  .fh-footer-bottom { padding-top:19px; font-size:11px }
  .fh-footer-social { gap:8px }
  .fh-footer-social a, .fh-footer-social>span { width:36px; height:36px }
}
@media (max-width:480px) {
  .fh-actions .fh-button { flex:1; min-width:0; gap:7px; padding-inline:13px; font-size:13px }
  .fh-project-grid, .fh-blog-grid { grid-template-columns:1fr }
  .fh-project-image, .fh-blog-image { aspect-ratio:1.58 }
  .fh-blog-card { padding:12px }
  .fh-contact-left h2 { max-width:360px; font-size:32px }
  .fh-form-row { grid-template-columns:1fr }
  .fh-footer-bottom { align-items:flex-start; flex-direction:column-reverse; gap:14px }
}
