/*
Theme Name: Northops Portfolio
Template: hello-elementor
Version: 1.0.0
Description: Somto's editorial portfolio, with Elementor-editable pages.
*/
:root{--n-paper:#f7f6f0;--n-ink:#24382d;--n-muted:#647066;--n-line:#d9ded3;--n-panel:#e9eddf;--n-action:#304c38}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body.northops-theme{margin:0;background:var(--n-paper);color:var(--n-ink);font:15px/1.65 Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #ac7537;outline-offset:5px}button{cursor:pointer}.n-shell{width:min(1120px,calc(100% - 88px));margin:auto}.n-skip{position:absolute;top:-100px;left:20px;background:var(--n-ink);color:white;padding:12px;z-index:1000}.n-skip:focus{top:10px}.n-header{position:sticky;top:0;z-index:50;background:rgba(247,246,240,.97);backdrop-filter:blur(12px)}.admin-bar .n-header{top:32px}.n-header-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--n-line);padding:22px 0}.n-logo{font-size:28px;font-weight:700;letter-spacing:-1.4px;text-decoration:none}.n-logo em{font-family:Georgia,serif;font-weight:400}.n-navigation{display:flex;align-items:center;gap:28px}.n-navigation ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}.n-navigation li{margin:0}.n-navigation a{text-decoration:none;font-size:14px}.n-navigation .current-menu-item>a{text-decoration:underline;text-underline-offset:7px}.n-cta,.northops-theme .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 21px;border-radius:5px;background:var(--n-action);border:1px solid var(--n-action);color:#fff;text-decoration:none;font:500 14px/1.4 Arial,sans-serif;min-height:46px;transition:background .2s,transform .2s}.n-cta:hover,.northops-theme .elementor-button:hover{background:#1f3525;color:white;transform:translateY(-1px)}.n-menu-toggle{display:none}.n-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid var(--n-line);padding:24px 0;margin-top:20px;font-size:12px;color:var(--n-muted)}.n-footer a{text-decoration:none}.n-footer a:hover{text-decoration:underline}.n-credit{letter-spacing:.02em}
.northops-theme .elementor{--e-global-color-primary:#24382d;--e-global-color-secondary:#647066;--e-global-color-text:#647066;--e-global-color-accent:#304c38;--e-global-typography-primary-font-family:Georgia;--e-global-typography-secondary-font-family:Arial;--e-global-typography-text-font-family:Arial;--e-global-typography-accent-font-family:Arial}.northops-theme :where(.elementor .e-con){--container-default-padding-top:0;--container-default-padding-bottom:0;--container-default-padding-left:0;--container-default-padding-right:0;--gap:0px;padding:0;min-width:0}.northops-theme .elementor-widget{margin:0}.northops-theme .elementor-widget-text-editor{color:var(--n-muted);font:15px/1.8 Arial,sans-serif}.northops-theme .elementor-widget-text-editor p{margin:0}.northops-theme .elementor-heading-title{color:var(--n-ink);font-family:Georgia,serif;font-weight:400;letter-spacing:-.8px;line-height:1.15}.northops-theme .n-page{width:100%;gap:0}.northops-theme .n-hero{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:70px;align-items:center;padding:65px 0 55px}.northops-theme .n-eyebrow{margin-bottom:18px!important}.northops-theme .n-eyebrow .elementor-heading-title{font:600 11px/1.5 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--n-muted)}.northops-theme .n-hero-title .elementor-heading-title{font-size:clamp(42px,5.3vw,66px);letter-spacing:-2.4px;line-height:1.07}.n-hero-title em{color:var(--n-muted)}.northops-theme .n-hero-description{margin-top:24px!important;max-width:555px}.northops-theme .n-actions{display:flex;flex-direction:row;align-items:center;gap:26px;margin-top:27px}.northops-theme .n-actions>.elementor-element{width:auto}.northops-theme .n-text-link .elementor-button{padding:10px 0;background:transparent;border-color:transparent;color:var(--n-ink);font-size:14px}.northops-theme .n-portrait img{width:205px;height:260px;object-fit:cover;object-position:center 20%;border-radius:105px 105px 8px 8px}.northops-theme .n-identity-caption{margin-top:14px!important;font-size:13px;color:var(--n-ink)}.n-identity-caption span{color:var(--n-muted)}.northops-theme .n-work-intro{padding-top:30px;border-top:1px solid var(--n-line);scroll-margin-top:110px}.northops-theme .n-section-heading .elementor-heading-title{font-size:38px}.n-filterbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin:25px 0 30px}.n-filters{display:flex;gap:7px;flex-wrap:wrap}.n-filter{font-size:12px;min-height:40px;padding:9px 13px;border:1px solid var(--n-line);border-radius:30px;background:transparent;color:var(--n-ink)}.n-filter[aria-pressed=true]{background:var(--n-ink);color:var(--n-paper);border-color:var(--n-ink)}.n-sample-count{font-size:12px;color:var(--n-muted)}.northops-theme .n-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 28px}.northops-theme .n-project{display:flex;flex-direction:column;gap:0}.northops-theme .n-project[hidden]{display:none!important}.northops-theme .n-shot{background:var(--n-panel);border-radius:7px;padding:27px;aspect-ratio:1.65;display:flex;align-items:center;justify-content:center;overflow:hidden}.northops-theme .n-shot .elementor-widget-container{width:100%}.northops-theme .n-shot a{display:block}.northops-theme .n-shot img{width:100%;max-height:300px;object-fit:contain;border-radius:4px;box-shadow:0 9px 25px #16251a14;transition:transform .2s}.northops-theme .n-shot a:hover img{transform:translateY(-4px)}.northops-theme .n-projectcopy{padding-top:18px;gap:9px}.northops-theme .n-meta{font-size:11px;line-height:1.6;letter-spacing:.04em}.n-meta .n-label{display:inline-block;border:1px solid var(--n-line);padding:1px 5px;border-radius:3px;margin-left:8px;font-size:10px;letter-spacing:0}.northops-theme .n-project-title .elementor-heading-title{font:500 21px/1.35 Arial,sans-serif;letter-spacing:-.4px}.n-project-title a{text-decoration:none}.n-project-title a:hover{text-decoration:underline;text-underline-offset:5px}.northops-theme .n-project-description{font-size:13px}.northops-theme .n-tool{margin-top:7px!important;font-size:11px}.northops-theme .n-project.featured{display:grid;grid-column:1/-1;grid-template-columns:1.45fr 1fr;background:var(--n-panel);border-radius:7px;overflow:hidden;align-items:center}.northops-theme .featured .n-shot{border-radius:0;aspect-ratio:1.65}.northops-theme .featured .n-projectcopy{padding:30px 30px 30px 5px;gap:15px}.northops-theme .featured .n-project-title .elementor-heading-title{font:400 33px/1.18 Georgia,serif;letter-spacing:-.7px}.northops-theme .n-banner{background:var(--n-ink);color:var(--n-paper);padding:37px;margin:55px 0 30px;border-radius:7px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:28px}.northops-theme .n-banner>.e-con{width:auto}.northops-theme .n-banner .elementor-heading-title{font-size:34px;color:var(--n-paper)}.northops-theme .n-banner .elementor-widget-text-editor{color:#d4ddd1;margin-top:10px}.northops-theme .n-banner .elementor-button{background:var(--n-paper);border-color:var(--n-paper);color:var(--n-ink);white-space:nowrap}.northops-theme .n-page-intro{padding:52px 0 35px;gap:20px}.northops-theme .n-page-title .elementor-heading-title{font-size:clamp(37px,5vw,54px);letter-spacing:-1.5px;max-width:900px}.northops-theme .n-page-description{max-width:720px}.northops-theme .n-back{margin-bottom:15px!important}.n-back a{font:13px Arial,sans-serif;color:var(--n-muted);text-decoration:none}.n-back a:hover{text-decoration:underline}.northops-theme .n-detail-image img{width:100%;border:1px solid var(--n-line);border-radius:7px}.northops-theme .n-caption{font-size:12px;margin:12px 0 28px!important}.northops-theme .n-detail-notes{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:28px;border-top:1px solid var(--n-line)}.northops-theme .n-detail-notes .elementor-heading-title{font:500 21px/1.4 Arial,sans-serif;letter-spacing:-.3px}.northops-theme .n-detail-notes .elementor-widget-text-editor{margin-top:12px;font-size:14px}.northops-theme .n-about-layout{display:grid;grid-template-columns:270px 1fr;gap:65px;padding-top:55px;align-items:start}.northops-theme .n-about-portrait img{width:100%;border-radius:8px}.northops-theme .n-about-copy{gap:22px}.northops-theme .n-booking{max-width:750px;margin:0 auto;padding:55px 0 70px;gap:23px}.northops-theme .n-booking-panel{border:1px solid var(--n-line);background:#fff;padding:30px;border-radius:8px;gap:20px}.northops-theme .n-booking-panel .elementor-heading-title{font:500 21px/1.4 Arial,sans-serif}.n-booking-panel p{font-size:14px}.n-empty-booking{padding:18px;background:var(--n-panel);border-radius:5px;color:var(--n-ink);font-size:14px}.elementor-editor-active .n-project[hidden]{display:flex!important}
@media(max-width:767px){.n-shell{width:calc(100% - 40px)}.n-header-inner{padding:17px 0;gap:16px}.n-logo{font-size:25px}.n-navigation{gap:15px}.n-navigation ul{gap:15px}.n-navigation a{font-size:12px}.n-navigation .n-cta{padding:11px 13px;gap:12px}.northops-theme .n-hero{grid-template-columns:1fr;gap:28px;padding:38px 0}.northops-theme .n-hero-title .elementor-heading-title{font-size:43px;letter-spacing:-1.7px}.northops-theme .n-identity{flex-direction:row;gap:15px;align-items:center}.northops-theme .n-portrait{width:60px}.northops-theme .n-portrait img{width:60px;height:60px;border-radius:50%;object-position:50% 20%}.northops-theme .n-identity-caption{margin-top:0!important}.northops-theme .n-gallery{grid-template-columns:1fr;gap:30px}.northops-theme .n-project.featured{display:flex}.northops-theme .featured .n-projectcopy{padding:24px}.northops-theme .n-shot{padding:22px}.northops-theme .n-actions{gap:18px;flex-wrap:wrap}.northops-theme .n-section-heading .elementor-heading-title{font-size:32px}.northops-theme .n-banner{flex-direction:column;align-items:flex-start;padding:28px;gap:24px}.northops-theme .n-banner .elementor-heading-title{font-size:30px}.northops-theme .n-detail-notes,.northops-theme .n-about-layout{grid-template-columns:1fr;gap:25px}.northops-theme .n-about-portrait{max-width:180px}.northops-theme .n-page-intro{padding-top:35px}.northops-theme .n-about-layout{padding-top:35px}.n-filter{min-height:44px}.n-footer{flex-direction:column}.northops-theme .n-booking-panel{padding:22px}.admin-bar .n-header{top:46px}}
@media(max-width:380px){.n-navigation ul{gap:10px}.n-navigation{gap:10px}.n-shell{width:calc(100% - 30px)}.n-navigation .n-cta{padding:10px;gap:5px}.n-navigation .n-cta span{display:none}.northops-theme .n-hero-title .elementor-heading-title{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Repeating heading + screenshot sections on sample detail pages (added 23 Oct 2026). */
.northops-theme .elementor-widget-heading + .n-detail-image{margin-top:18px}
/* Approved portfolio, editable Elementor release. */
.n-shell{width:min(1276px,calc(100% - 84px))}.n-header{position:relative;backdrop-filter:none;background:var(--n-paper)}.admin-bar .n-header{top:0}.n-top-strip{background:var(--n-panel);padding:8px 42px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.n-header-inner{padding:24px 0}.northops-theme .n-hero{grid-template-columns:minmax(0,1fr) clamp(240px,23vw,320px);gap:clamp(32px,4vw,60px);padding:58px 0 48px}.northops-theme .n-hero-title .elementor-heading-title{font-size:clamp(44px,5.2vw,72px);line-height:1.08;letter-spacing:-2px}.n-hero-title em{color:var(--n-muted)}.northops-theme .n-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:160px 160px 8px 8px}.northops-theme .n-intro{margin-top:24px;font-size:17px;line-height:1.7}.northops-theme .n-actions{display:flex;flex-direction:row;gap:20px;align-items:center;flex-wrap:wrap;margin-top:24px}.northops-theme .n-actions>.elementor-element{width:auto}.northops-theme .n-secondary .elementor-button{background:transparent;color:var(--n-ink);border:0}.northops-theme .n-edit-social{display:flex;flex-direction:row;gap:12px;width:auto;margin-top:22px}.northops-theme .n-actions .n-edit-social{margin-top:0}.northops-theme .n-social-image{width:46px!important;flex:none}.n-social-image a{display:flex;align-items:center;justify-content:center;background:white;border:1px solid var(--n-line);border-radius:50%;width:46px;height:46px}.n-social-image img{width:22px!important;height:22px!important}.northops-theme .n-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 28px}.northops-theme .n-project{min-width:0;gap:0}.northops-theme .n-project[hidden]{display:none!important}.elementor-editor-active .n-project[hidden]{display:flex!important}.northops-theme .n-project.featured{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-column:1/-1}.northops-theme .n-projectcopy{min-width:0;gap:10px;padding-top:18px}.northops-theme .n-project-title .elementor-heading-title{font:500 21px/1.35 Arial,sans-serif;letter-spacing:-.3px}.northops-theme .featured .n-project-title .elementor-heading-title{font:400 32px/1.2 Georgia,serif}.northops-theme .n-project-description{white-space:normal;overflow:visible;height:auto;line-height:1.65}.northops-theme .n-project-hint{font-size:12px}.northops-theme .n-shot{aspect-ratio:1.63;background:var(--n-panel);padding:24px;border-radius:7px;display:flex;justify-content:center}.northops-theme .n-shot .elementor-widget-container,.northops-theme .n-shot a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}.northops-theme .n-shot img{width:100%;max-height:100%;object-fit:contain;border-radius:4px}.northops-theme .n-detail-image{margin-top:28px!important;background:#eeeee8;border-radius:8px;padding:16px}.northops-theme .n-detail-image img{max-height:850px;object-fit:contain;width:100%}.northops-theme .n-page-title{margin:30px 0 18px}.northops-theme .n-page-description{max-width:760px}.northops-theme .n-work-heading{padding-top:28px;border-top:1px solid var(--n-line)}.northops-theme .n-back{padding-top:28px}.northops-theme .n-meta{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.n-footer .n-credit{letter-spacing:0}
@media(max-width:767px){.n-shell{width:calc(100% - 40px)}.n-top-strip{padding:8px 20px;font-size:10px}.northops-theme .n-hero{grid-template-columns:1fr;gap:24px;padding:36px 0}.northops-theme .n-hero-title .elementor-heading-title{font-size:42px}.northops-theme .n-portrait{width:64px}.northops-theme .n-portrait img{width:64px;height:76px;border-radius:32px 32px 6px 6px}.northops-theme .n-identity{flex-direction:row;align-items:center}.northops-theme .n-gallery{grid-template-columns:1fr}.northops-theme .n-project.featured{display:flex;flex-direction:column}.northops-theme .featured .n-projectcopy{padding:22px}.northops-theme .n-about-layout{grid-template-columns:1fr}.northops-theme .n-about-portrait{max-width:180px}}
/* Match the approved preview spacing and paired project screenshots. */
.northops-theme .e-con{--gap:0px;--row-gap:0px;--column-gap:0px;gap:0}
.northops-theme .n-hero{gap:clamp(32px,4vw,60px)}
.northops-theme .n-hero .n-intro{margin-top:22px!important}
.northops-theme .n-actions{gap:22px;margin-top:24px}
.northops-theme .n-edit-social{gap:12px}
.northops-theme .n-gallery{gap:30px 24px}
.northops-theme .n-projectcopy{gap:0;padding-top:17px}
.northops-theme .n-project-title{margin-top:7px}
.northops-theme .n-project-title .elementor-heading-title{font-size:18px}
.northops-theme .featured .n-projectcopy{padding:26px 27px 26px 10px;gap:0}
.northops-theme .featured .n-project-title .elementor-heading-title{font-size:28px}
.northops-theme .n-project-description{margin-top:13px;font-size:13px}
.northops-theme .n-tool{margin-top:20px!important;font-size:11px}
.northops-theme .n-projectcopy .elementor-widget-button{margin-top:18px}
.northops-theme .n-project-hint{margin-top:8px;font-size:12px}
.northops-theme .n-page-title .elementor-heading-title{font-size:44px;max-width:760px}
.northops-theme .n-page-description{max-width:650px;font-size:14px;line-height:1.8}
.northops-theme .n-detail-image{padding:0;margin-top:26px!important;background:#eeeee8}
.northops-theme .n-detail-image img{max-height:720px;object-fit:contain}
.northops-theme .n-caption{font-size:12px;line-height:1.5;margin:12px 0 26px!important}
.northops-theme .n-additional{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.northops-theme .n-detail-figure{background:#eeeee8;padding:14px;border-radius:12px;gap:0;min-width:0}
.northops-theme .n-detail-figure .n-detail-image{margin:0!important}
.northops-theme .n-detail-figure img{max-height:650px}
.northops-theme .n-detail-figure .n-caption{margin:12px 0 26px!important}
.northops-theme .n-banner{gap:25px;margin:48px 0 34px;padding:32px}
.northops-theme .n-about-layout{gap:45px;max-width:980px;margin:0 auto;padding:40px 0;grid-template-columns:240px 1fr}
.northops-theme .n-about-copy{gap:20px}
@media(max-width:767px){.northops-theme .n-hero{gap:24px}.northops-theme .n-additional{grid-template-columns:1fr}.northops-theme .n-about-layout{grid-template-columns:1fr;gap:20px}.northops-theme .featured .n-projectcopy{padding:22px}.northops-theme .n-page-title .elementor-heading-title{font-size:34px}}
.northops-theme .n-hero-title .elementor-heading-title{max-width:650px}
.northops-theme .n-hero .n-intro{font-size:clamp(16px,1.35vw,19px)}
.northops-theme .n-section-heading .elementor-heading-title{font-size:33px}
.northops-theme .n-banner .elementor-heading-title{font-size:29px}
/* Keep category interactions in the portfolio palette, overriding Hello defaults. */
body.northops-theme .n-filter:hover,body.northops-theme .n-filter:focus{background:var(--n-panel);color:var(--n-ink);border-color:var(--n-action)}
body.northops-theme .n-filter[aria-pressed=true],body.northops-theme .n-filter[aria-pressed=true]:hover{background:var(--n-ink);color:var(--n-paper);border-color:var(--n-ink)}
.northops-theme .n-page-tools{margin-top:14px;font-size:13px;color:var(--n-muted)}
.northops-theme .n-page-tools strong{color:var(--n-ink);font-weight:600}
.northops-theme .n-see-all{display:flex;justify-content:center;margin:34px 0 10px}
.n-contact{display:inline-flex;align-items:center;gap:14px}
.n-contact-link{display:inline-flex;align-items:center;gap:6px;line-height:1}
.n-contact-link img{width:16px;height:16px;display:block;object-fit:contain}
.n-contact-link svg{display:block}
.northops-theme .n-see-all{justify-content:flex-start;padding:0;--padding-block-start:0;--padding-inline-start:0}
.northops-theme .n-see-all>.elementor-element{margin:0}
.northops-theme .n-see-all>.e-con-inner{margin:0;padding:0}
.n-contact .n-email{border:1px solid var(--n-line);border-radius:6px;padding:8px 12px;background:#fff;color:var(--n-ink)}
.n-contact .n-email:hover{border-color:var(--n-ink);text-decoration:none}
.northops-theme .n-about-copy p+p{margin-top:16px}

/* Homepage screenshot readability: larger previews, originals retained in projects. */
body.home.northops-theme .n-readable-cover{padding:8px;overflow:hidden}
body.home.northops-theme .n-focus-preview a{overflow:hidden}
body.home.northops-theme .n-focus-preview img{height:100%;width:100%;max-height:none;object-fit:cover;object-position:left top}
